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.
Mas na verdade, esse vetor de objetos não era o que eu realmente queria então.
Foi uma ideia que tive, porém errônea.
Porque na verdade, eu queria criar um sistema de cadastro… como se fosse uma locadora ou algo do tipo.
Aí tipo, quis que os atributos ocupassem o lugar dos objetos na array de objeto, deu pra entender?
Acho que, na verdade, quem deveriam ser vetores seriam os atributos.