Ir ao conteúdo
  • Cadastre-se

Java Iniciando no Java com Arrays


soumma

Posts recomendados

Tho começando a aprender Java e acabei deparando com um erro quando trabalho com array

import java.util.Scanner;

public class AloMundo {
	
	
	
	public static void main(String[] args) {
		
     int[]A = new int[9], C = new int[9];
     int[]B = new int[9];
     Scanner scan = new Scanner(System.in);
     System.out.println("Digite 10 numeros para A e B: \n");
     
     for(int i=0; i<=9; i++) {
      System.out.println("A["+i+"]: ");
      A[i] = scan.nextInt();
      System.out.println("B["+i+"]: ");
      B[i] = scan.nextInt();
     }
		
		
	}
}

O erro que da no console é esse: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9. Não tenho ideia do que poderia ser, ele simplesmente da erro quando peço pra ele ler o ultimo valor pra B.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@soumma Olá. Perceba que você quer que o usuário digite 10 números para cada array, logo, os arrays devem ser para 10 posições e não somente 9, como você está fazendo. Essa exceção (erro) que está aparecendo é referente a isso

Para trabalhar com arrays é importante saber que os array são indexados e o primeiro índice de um array é o índice 0

Se um array tem tamanho para armazenar 10 valores do tipo int, no for você deve percorrer os índices de 0 a 9, sendo que índice 0 de um array vai armazenar o primeiro valor e o índice 9 do array armazenar o último valor. Procure entender bem a respeito disso!

no for seria isso:

for (int i = 0; i <= 9; i++)

ou mesmo dessa forma, mais comum em Java:

for (int i = 0; i < A.length; i++) 
			

em ambos os casos, o for vai do índice 0 ao 9, sendo que o tamanho do array é 10

 

Recomendo o uso de dois for, um p ler os valores para o primeiro array (A) e outro for para o segundo (B) e mais dois for, para imprimir os valores informados para o array A e para o array B

 

Também recomendo que use nomes mais intuitivos (sugestivos) para suas variáveis, tal como arrayA e arrayB (por exemplo), isso ajuda para que seus códigos fiquem mais claros e fáceis de ser entendidos. Sem falar que isso é também uma boa prática de programação 😉

 

Tem a questão da sintaxe em Java também, que está com erros em seu código na hora de imprimir os valores armazenados nos arrays. Quanto a essa questão recomendo esse site mesmo:

https://www.caelum.com.br/apostila-java-orientacao-objetos/um-pouco-de-arrays/#exerccios-arrays

Se você der uma olhada nesse link acima, além de encontrar a maneira correta de imprimir os valores de um array e algumas explicações importantes sobre arrays em Java, vai também encontrar alguns exercícios que estão sendo propostos. Caso queira mesmo aprender procure resolver esses exercícios, ok? Se não conseguir resolver tudo bem, mas pelo menos tente

 

Colocando em prática o que falei, o array que você está chamando de A ficaria assim:

int[] arrayA = new int[10];

Obs: Se a explicação que procurei dar não ficou clara e ficar em dúvida com relação a algo q te passei fique a vontade para perguntar. Hoje comecei a usar óculos e inda é preciso me acostumar com isso rs... 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...