Você está aqui: Java ::: Dicas & Truques ::: Internacionalização e Localização (Internationalization, i18n, Localization, l10n) |
Entendendo a classe LocaleQuantidade de visualizações: 14799 vezes |
A classe Locale (do pacote java.util) é usada para representar uma região geograficamente, política ou culturalmente, na qual uma determinada língua é falada ou um determinado costume foi adotado. Desta forma, nós, desenvolvedores sabemos que as normas de formatação de datas, horas, valores monetários, etc, no Brasil são muito diferentes daquelas adotadas nos Estados Unidos, Japão, China, entre outros países. No Brasil, por exemplo, costumamos representar a data como dia/mês/ano enquanto os chineses adotaram o padrão ano/mês/dia. Nos Estados Unidos se usa mês/dia/ano. Antes de progredirmos, veja a posição da classe Locale na hierarquia de classes Java: java.lang.Object java.util.Locale Veja um trecho de código no qual criamos um objeto da classe Locale que nos permite formatar a data atual de acordo com o formato de data longa definida para o padrão português brasileiro: import java.util.*; import java.text.*; public class Estudos{ public static void main(String args[]){ // criamos um locale para o Brasil Locale localeBR = new Locale("pt", "BR"); // vamos obter a data e hora atual Calendar agora = Calendar.getInstance(); // vamos formatar de acordo com o formato de // data longa no português brasileiro DateFormat df = DateFormat.getDateInstance( DateFormat.FULL, localeBR); // vamos exibir o resultado System.out.println(df.format(agora.getTime())); } } Sexta-feira, 12 de Dezembro de 2008 public Locale(String language, String country) Quando lemos a documentação de linguagens de programação, muitas vezes encontramos a expressão "locale-sensitive". Esta expressão nos documentos Java quer dizer que precisaremos de um objeto da classe Locale para aplicar as devidas formatações a datas, horas ou números. E, como a JVM obtém esta informação a partir do sistema operacional em uso, podemos ter a tranquilidade de que nossas aplicações funcionarão corretamente em todas as línguas para as quais nós as projetamos. |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Pacote java.awt.event ::: KeyEvent |
Java Swing - Como usar o método getKeyCode() da classe KeyEvent para detectar as teclas de Espaço, Enter ou EscQuantidade de visualizações: 5775 vezes |
Em algumas situações nós precisamos detectar o pressionamento das teclas de Espaço, Enter ou Esc. Para isso podemos usar o método getKeyCode() da classe KeyEvent e testar se o código equivale a uma das constantes KeyEvent.VK_SPACE (espaço), KeyEvent.VK_ENTER (Enter) ou KeyEvent.VK_ESCAPE (Esc). Veja um trecho de código no qual testamos se alguma destas três teclas foi pressionada: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JOptionPane; public class Janela extends JFrame implements KeyListener{ public Janela(){ super("Eventos do Teclado"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); // vamos adicionar o objeto listener addKeyListener(this); setSize(350, 250); setVisible(true); } @Override public void keyPressed(KeyEvent e){ // a tecla Space foi pressionada? if(e.getKeyCode() == KeyEvent.VK_SPACE){ JOptionPane.showMessageDialog(null, "A tecla de espaço foi pressionada"); } // a tecla Enter foi pressionada? else if(e.getKeyCode() == KeyEvent.VK_ENTER){ JOptionPane.showMessageDialog(null, "A tecla Enter foi pressionada"); } // a tecla Esc foi pressionada? else if(e.getKeyCode() == KeyEvent.VK_ESCAPE){ JOptionPane.showMessageDialog(null, "A tecla Esc foi pressionada"); } else{ JOptionPane.showMessageDialog(null, "Outra tecla foi pressionada"); } } @Override public void keyReleased(KeyEvent e){ // sem implementação } @Override public void keyTyped(KeyEvent e){ // sem implementação } public static void main(String args[]){ Janela j = new Janela(); j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } É importante observar que as teclas Space, Enter e Esc podem ser detectadas somente nos eventos keyPressed e keyReleased. |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como inserir uma substring em uma string em Java usando o método insert() da classe StringBufferQuantidade de visualizações: 23 vezes |
Nesta dica mostrarei como podemos usar o método insert() da classe StringBuffer da linguagem Java para inserir uma substring no início, meio ou final de uma string. Este método recebe o índice no qual queremos inserir a substring e a substring a ser inserida. Veja o código Java completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class Estudos { public static void main(String args[]) { // vamos declarar um objeto da classe StringBuffer StringBuffer frase = new StringBuffer("Programar em é bom demais"); System.out.println("A frase original é: " + frase); // agora vamos inserir a palavra "Java" no índice 13 frase.insert(13, "Java "); // e agora mostramos o resultado System.out.println("O resultado é: " + frase); } } Ao executar este código Java nós teremos o seguinte resultado: A frase original é: Programar em é bom demais O resultado é: Programar em Java é bom demais |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercício Resolvido de Java - Usando o laço while para pedir ao usuário que tente acertar um número aleatório entre 0 e 10 (incluindo) e mostrar a quantidade de tentativas feitasQuantidade de visualizações: 2139 vezes |
Pergunta/Tarefa: Escreva um programa Java que gera um número aleatório (randômico) entre 0 e 10 (incluindo estes dois valores) e peça ao usuário para adivinhá-lo. Use um laço while para registrar as tentativas feitas e, a cada tentativa, dê dicas informando se o número gerado é maior ou menor que a tentativa feita. Finalmente mostre a quantidade de tentativas feitas até que o número fosse acertado. Sua saída deverá ser parecida com a mostrada abaixo: Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package exercicios; import java.util.Scanner; public class Exercicios { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // declaração das variáveis int tentativas = 0, numeroLido; boolean acertou = false; // vamos gerar um número aleatório entre 0 e 10 int numero = (int)(Math.random() * 11); // um laço while que repetirá até que o número seja acertado while(!acertou){ System.out.print("Informe um número de 0 a 10: "); numeroLido = Integer.parseInt(entrada.nextLine()); tentativas++; if(numeroLido == numero){ // acertou? System.out.println("Parabéns! Você acertou em " + tentativas + " tentativas."); acertou = true; } else if(numeroLido < numero){ // o número informado é menor que o número gerado System.out.println("Errou! Tente um número maior."); } else{ // o número informado é maior que o número gerado System.out.println("Errou! Tente um número menor."); } } } } |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares intermediários Para efeito de projeto, existem três tipos de pilar: extremidade, intermediário e de canto. Cada pilar é calculado de acordo com sua classificação. Eduarda foi contratada para realizar o projeto estrutural de uma edificação. No pilar 5 (pilar intermediário), Eduarda calculou o índice de esbeltez nas duas direções (x,y) e verificou o efeito local de 2ª ordem nas duas direções. Dados: Nk = 600kN Dimensão = 20cm × 30cm lex = ley = 280cm Quais resultados Eduarda obteve? A) Índice de esbeltez na direção x: 48,34. Índice de esbeltez na direção y: 31,29. B) Índice de esbeltez na direção x: 32,29. Índice de esbeltez na direção y: 32,29. C) Índice de esbeltez na direção x: 48,44. Índice de esbeltez na direção y: 32,29. D) Índice de esbeltez na direção x: 38,44. Índice de esbeltez na direção y: 62,29. E) Índice de esbeltez na direção x: 18,44. Índice de esbeltez na direção y: 22,29. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual é a forma correta de se escrever uma laço WHILE em JavaScript? A) while (a < 10) {} B) while a = 1 to 10 C) while (a < 10): D) while (a < 10; a++) {} Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Água Fria: Reservatórios Sobre o projeto de reservatórios de água fria, assinale a alternativa correta: A) O volume mínimo do reservatório para uso doméstico, salvo o volume do combate a incêndio, deve ser, no mínimo, o necessário para 3 dias de consumo. B) O reservatório de água potável não deve ser enterrado em hipótese alguma, devido à possibilidade de contaminação proveniente do solo. C) No caso de residência de pequeno porte, é recomendado que a reserva mínima seja de 1000 L. D) Reservatórios de maior capacidade devem ser divididos em dois ou mais compartimentos para permitir operações de manutenção sem haver interrupção na distribuição de água. E) A extremidade da tomada d'água no reservatório (saída para o barrilete de distribuição) deve estar no mesmo nível do fundo desse reservatório. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Postura ética profissional Os princípios éticos que norteiam a prática profissional dos engenheiros não são definidos por uma única entidade ou indivíduo específico. Há diferentes fontes e organizações que estabelecem a conduta ética a ser seguida por esses profissionais. Assinale a alternativa que melhor apresenta essas fontes e organizações, segundo Cocian (2016): A) Organizações profissionais, legislação e regulamentações, instituições de ensino, experiência profissional. B) A Associação Mundial de Engenheiros, o Conselho de Ética, a Sociedade Internacional de Engenheiros e a Federação Internacional de Engenharia (FIE). C) Os códigos de ética redigidos pelas empresas Apple, Microsoft, Google e Amazon. D) As diretrizes éticas de partidos políticos, organizações ambientais, grupos de consumidores e clubes esportivos. E) Os princípios éticos estabelecidos por escritores famosos, celebridades, filósofos antigos e artistas renomados. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Noções de licitação pública A prefeitura de um município do interior do Estado de Santa Catarina precisa realizar uma licitação para a aquisição de bens de informática considerados comuns, como impressoras, cartuchos, laptops, estabilizadores, etc. A modalidade de licitação mais indicada é: A) convite. B) leilão. C) concurso. D) pregão. E) concorrência. Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
JavaScript - Como usar objetos Set em seus códigos JavaScript |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |