Olá, sei que esse erro é ridículo, mas fazer o quê? Se eu não tirar essa dúvida, não aprenderei. Então segue o código:
Quando cadastro um aluno e seleciono a opção 2 Pesquisa, dá erro. O que estou fazendo de errado? Preciso de ajuda.
Se a comparação está errada, o eclipse não deveria acusar erro?
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
int i = 0;
int opcao = 0;
Aluno[] vetAlunos = new Aluno[1000];
Scanner sc = new Scanner(System.in);
do {
System.out.println("------------------");
System.out.println("1 - Cadastrar");
System.out.println("2 - Pesquisar (RA)");
System.out.println("3 - Imprimir Todos");
System.out.println("4 - Contar Cadastrados");
System.out.println("5 - Excluir (RA)");
System.out.println("99 - Sair");
System.out.println("------------------");
System.out.println("Digite a opção desejada: ");
opcao = sc.nextInt();
if (opcao == 1) {
Aluno NovoAluno = new Aluno();
System.out.println("Digite o nome: ");
NovoAluno.Nome = sc.next();
System.out.println("Digite o RA: ");
NovoAluno.Ra = sc.nextInt();
System.out.println("Digite a mensalidade: ");
NovoAluno.Mensalidade = sc.nextDouble();
vetAlunos[i] = NovoAluno;
i = i +1;
System.out.println("Cadastro realizado com sucesso!");
}
else
{
if (opcao == 2) {
Aluno novoAluno = new Aluno();
System.out.println("RA: ");
novoAluno.Ra = sc.nextInt();
for (i = 0; i < vetAlunos.length; i++) {
if (vetAlunos != null) {
if (vetAlunos[i].equals(novoAluno.Ra)) {
System.out.println("Detalhes do cadastro: ");
System.out.println(novoAluno.Nome);
System.out.println(novoAluno.Ra);
System.out.println(novoAluno.Mensalidade);
}
}
}
}
else {
if (opcao == 3) {
for (i = 0; i < vetAlunos.length; i++) {
if (vetAlunos[i] != null) {
System.out.println("Nome: "+vetAlunos[i].Nome);
}
}
}
}
}
} while (opcao != 99);
sc.close();
}
}