Sou novato na área e esse é meu primeiro tópico e seguinte, peço humildemente que me ajudem com um problema em que me meti, entretanto não faço ideia do que fazer pra soluciona-lo.
Seguinte, dei inicio ao meus estudos de POO e fiquei preso num seguinte algoritmo de cadastro, segue o código:
package br.ucsal;
import java.util.Scanner;
class Jogo {
int codigo;
String nome;
double valor;
}
public class Poo1 {
public static void jogos() {
Scanner sc = new Scanner(System.in);
System.out.println("Quantos jogos deseja cadastrar? ");
int quantidade = new Scanner(System.in).nextInt();
Jogo cadastrojogos[] = new Jogo [quantidade*3];
int x = 3 * quantidade, i = 0;
do {
System.out.println("Informe o codigo do jogo "+i+1+": ");
cadastrojogos[i].codigo = sc.nextInt();
i++;
System.out.println("Informe o nome do jogo "+i+1+": ");
cadastrojogos[i].nome = sc.next();
i++;
System.out.println("Informe o valor do jogo "+i+1+": ");
cadastrojogos[i].valor = sc.nextDouble();
i++;
x++;
} while(i < x);
}
public static void main(String[] args) {
jogos();
}
public static void escrever(Jogo[] cadastrojogos) {
int i = 0;
System.out.println(cadastrojogos[i].codigo);
i++;
System.out.println(cadastrojogos[i].nome);
i++;
System.out.println(cadastrojogos[i].valor);
i++;
}
}
O que acontece é que meio que “estoura” o vetor quando eu tento alocar o valor no array “cadastrojogos”, porém não consigo identificar o porquê. Visto que “respeita” o tamanho da array.
Deu pra entender? O erro acontece quando passa o valor pedido ao usuário pra cadastrojogos[].
Valeu desde já!
ps: por hora, ignorem o metódo de imprimir, ainda nao trabalhei em cima dele.


