Abri um topico no forum para que me ajudasse em um programa de cadastro com array e consegui faze-lo. Fui tentar implementar o mesmo com construtores e o programa compila mas na hora da busca e listagem, não funciona
primeira parte (metodos)import java.util.Scanner;
import java.util.ArrayList;
public class Aluno
{
int matricula;
int mat2;
String nome;
String data;
String end;
String email;
int i;
public Aluno (int matricula,String nome,String data,String end, String email)
{
this.matricula = matricula;
this.nome = nome;
this.data = data;
this.end = end;
this.email = email;
}
public void Busca (Aluno aluno[], int mat2)
{
for (i = 0; i <50; i++)
{
if(mat2 == aluno[i].matricula)
{
System.out.println ("Matricula " +aluno[i].matricula);
System.out.println ("Nome " +aluno[i].nome);
System.out.println ("Data de nascimento " +aluno[i].data);
System.out.println ("Endereço " +aluno[i].end);
System.out.println ("Email " +aluno[i].email);
System.out.print("\n\n");
break;
}
else {
System.out.print("\n\n");
System.out.println("Aluno nao cadastrado \n");
System.out.print("\n\n");
break;
}
}
}
}
import java.util.Scanner;
import java.util.ArrayList;
public class Cadastro
{
public static void main (String args[])
{
Scanner input = new Scanner (System.in);
Aluno[] aluno = new Aluno[50]; //Variavel do tipo da classe do outro programa
int op;
int i = 0;
int mat2;
int matricula;
String nome;
String data;
String end;
String email;
Aluno al;
do
{
System.out.print ("1-Criar cadastro\n2-Procurar matricula\n3-Listar\n0-Sair");
System.out.print("\n\n");
op = Integer.parseInt (input.nextLine ());
System.out.print("\n");
switch (op)
{
case 1: if (i >=50) // CADASTRO
{
System.out.print ("Capacidade esgotada \n");
break;
}
else {
// aluno [i] = new Aluno(); // cada laço, cria um novo Aluno
// Scanner input = new Scanner (System.in);
System.out.print ("Digite sua matricula \n\n"); //MATRICULA
matricula = Integer.parseInt (input.nextLine ());
System.out.print("\n");
System.out.println("Digite o seu nome \n\n"); // NOME
nome = input.nextLine();
System.out.print("\n");
System.out.print ("Digite a data de nascimento \n\n"); //DATA
data = input.nextLine();
System.out.print("\n");
System.out.println("Digite o seu endereço \n\n"); // ENDEREÇO
end = input.nextLine();
System.out.print("\n");
System.out.println("Digite o seu email \n\n"); // EMAIL
email = input.nextLine();
System.out.print("\n");
i++;
break;
}
case 2: // BUSCA
System.out.print("Digite a matricula \n");
mat2 = Integer.parseInt (input.nextLine ());
System.out.print("\n\n");
aluno[0].Busca(aluno,mat2); //PASSA O ALUNO 0 PARA O METODO E LA É REALIZADO O PERCORRIMENTO DO ALUNO
break;
case 3: // LISTAGEM
for (i = 0; i < 50;i++)
{
if (aluno[i] != null)
{
System.out.println (aluno[i].matricula);
System.out.println (aluno[i].nome);
System.out.println (aluno[i].data);
System.out.println (aluno[i].end);
System.out.println (aluno[i].email);
System.out.print("\n\n");
}
}
break;
}
}while (op !=0);
}
}
na hora da listagem ele não lista nada e na hora da busca ele da erro de pointer null