Você está aqui: Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Tratamento de erros em Java - Como tratar o erro ArrayIndexOutOfBoundsException em JavaQuantidade de visualizações: 18092 vezes |
A exceção ArrayIndexOutOfBoundsException é uma exceção (erro) que acontece quando fornecemos um índice fora dos limites permitidos para o acesso de elementos em um vetor ou matriz (array). Lembre-se de que os índices em Java começam em 0 e vão até a quantidade de elementos menos 1. Antes de vermos os exemplos, observe a posição da classe pública ArrayIndexOutOfBoundsException na hierarquia de classes da plataforma Java: java.lang.Object java.lang.Throwable java.lang.Exception java.lang.RuntimeException java.lang.IndexOutOfBoundsException java.lang.ArrayIndexOutOfBoundsException Esta classe implementa a interface Serializable. Veja um exemplo no qual tentamos acessar um elemento de um vetor ou matriz usando um índice inválido: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ // um array de quatro elementos int[] valores = {5, 23, 76, 3}; // vamos fornecer um índice inválido System.out.println(valores[4]); System.exit(0); } } Este código compila normalmente. Porém, ao tentarmos executá-lo, temos a seguinte mensagem de erro: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 at Estudos.main(Estudos.java:7) A forma mais adequada de corrigir este erro é fornecendo um valor de índice que realmente esteja na faixa permitida. |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Coleções (Collections) ::: HashMap |
Java Collections - Como usar a classe HashMap da linguagem JavaQuantidade de visualizações: 37072 vezes |
A classe HashMap, do pacote java.util, é uma das principais implementações da interface Map. Além de fornecer todas as operações opcionais de um map, esta classe permite a inserção de chaves e valores com o valor null. Em realidade, a classe HashMap é bem similar à classe Hashtable, com a diferença que HashMap não é sincronizada (tenha cuidado ao usuá-la em ambiente de múltiplas threads) e permite valores e chaves null. Veja sua posição na hierarquia de classes Java: java.lang.Object java.util.AbstractMap<K,V> java.util.HashMap<K,V> O uso principal da classe HashMap é quando queremos associar chaves e valores e, posteriormente, recuperar valores baseados em suas chaves. Veja um exemplo no qual temos cidades e habitantes: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.*; public class Estudos{ @SuppressWarnings("unchecked") public static void main(String[] args){ // cria uma nova instância de HashMap HashMap cidadesHabitantes = new HashMap(); // vamos adicionar algumas chaves e seus valores cidadesHabitantes.put("Goiânia", new Integer(4334598)); cidadesHabitantes.put("São Paulo", new Integer(49282768)); cidadesHabitantes.put("Brasília", new Integer(96736887)); // vamos obter uma view dos mapeamentos Set set = cidadesHabitantes.entrySet(); // obtemos um iterador Iterator i = set.iterator(); // e finalmente exibimos todas as chaves e seus valores while(i.hasNext()){ Map.Entry entrada = (Map.Entry)i.next(); System.out.println("Chave: " + entrada.getKey() + " - Valor: " + entrada.getValue()); } System.exit(0); } } Ao executar este código nós teremos o seguinte resultado: Chave: Goiânia - Valor: 4334598 Chave: Brasília - Valor: 96736887 Chave: São Paulo - Valor: 49282768 Uma observação importante em relação à classe HashMap é que esta não honra nenhuma ordem específica de seus elementos, ou seja, a ordem dos pares chave-valor em uma operação de exibição pode ser bem diferente da ordem de inserção. |
Java ::: Dicas & Truques ::: Operadores de Manipulação de Bits (Bitwise Operators) |
Como usar o operador de bits & (E/AND sobre bits) em Java - Java Avançado - Manipulação de bits em JavaQuantidade de visualizações: 6647 vezes |
Esta dica de Java é muito útil para quem está se preparando para entrevistas de código ou desafios de programação. A manipulação de bits é fator importante para testar as habilidades de candidatos a vagas de programador, pois ela demonstra um conhecimento muito aprofundado de lógica de programação e também de rotinas de baixo nível. O operador de bits & (E/AND sobre bits) da linguagem Java é usado quando queremos comparar os bits individuais de dois valores integrais (inteiros) e produzir um terceiro resultado. Os bits no resultado serão configurados como 1 se os bits correspondentes nos dois outros valores foram 1. Em caso contrário os bits são configurados como 0. Vamos analisar os seguintes valores binários: a) 0101 (5 decimal) b) 0100 (4 decimal) Quando aplicamos o operador & nestes dois valores teremos o seguinte resultado: 0101 0100 ---- 0100 Veja que o resultado é 0100, uma vez que apenas o segundo bit de cada valor está configurado como 1. Vamos ver isso em Java agora. Observe o seguinte trecho de código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Main { public static void main(String[] args) { int a = 5; int b = 4; int c = a & b; // exibe o resultado (em inteiro e em bytes) System.out.println("a = " + obterBits(a) + " (" + a + ")"); System.out.println("b = " + obterBits(b) + " (" + b + ")"); System.out.println("a & b = " + obterBits(c) + " (" + c + ")"); } // método auxiliar que converte um inteiro em sua representação em bits public static String obterBits(int valor){ int mascara = 1 << 31; StringBuffer buffer = new StringBuffer(35); for(int i = 1; i <= 32; i++){ if((valor & mascara) == 0){ buffer.append('0'); } else{ buffer.append('1'); } valor <<= 1; if(i % 8 == 0){ buffer.append(' '); } } return buffer.toString(); } } Ao executar este código teremos o seguinte resultado: a = 00000000 00000000 00000000 00000101 (5) b = 00000000 00000000 00000000 00000100 (4) a & b = 00000000 00000000 00000000 00000100 (4) |
Java ::: Pacote java.lang ::: String |
Como usar o método trim() da classe String do Java para remover os espaços no início e final de uma string - RevisadoQuantidade de visualizações: 5922 vezes |
Em algumas situações precisamos remover todos os espaços antes e depois de uma string. Para isso podemos usar o método trim() da classe String da linguagem Java. Veja sua assinatura:public String trim() Se a string possuir quaisquer caracteres '\u0020' (o código Unicode para o caractere de espaço), estes serão removidos tanto no ínicio quanto no final e uma nova string será criada e retornada. Se a string não possuir nenhum espaço no início ou final, a string original é retornada. Veja um trecho de código no qual usamos o método trim() da classe String para remover os espaços no início e final de uma string: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String[] args){ // uma string contendo espaços no início e no final String frase = " Possuo espaços no ínicio e no final "; // vamos exibir a string com os espaços System.out.println("Com espaços: " + frase + "."); // vamos remover os espaços no início e no final String semEspacos = frase.trim(); // exibimos a string sem os espaços no início e no final System.out.println("Sem espaços: " + semEspacos + "."); } } Ao executarmos este código nós teremos o seguinte resultado: Com espaços: Possuo espaços no ínicio e no final . Sem espaços: Possuo espaços no ínicio e no final. Esta dica foi revisada e testada no Java 8. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
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 |