Ola,
Tenho que fazer um prog que cadastre alunos e pesquise pelo seu numero de matricula
Dividi o programa em duas partes
A primeira parte compila tranquilo mas acho que o problema esta nela
primera parte:
import java.util.Scanner;
import java.util.ArrayList;
public class Aluno
{
int matricula;
int mat2;
String nome;
int data;
String end;
String email;
int i;
Aluno[] aluno = new Aluno[3];
public void Cadastro ()
{
Scanner input = new Scanner (System.in);
System.out.print ("Digite sua matricula \n\n"); //MATRICULA
matricula = Integer.parseInt (input.nextLine ());
System.out.println("Digite o seu nome \n\n"); // NOME
nome = input.nextLine();
System.out.print ("Digite a data de nascimento \n\n"); //DATA
data = Integer.parseInt (input.nextLine ());
System.out.println("Digite o seu endereço \n\n"); // ENDEREÇO
end = input.nextLine();
System.out.println("Digite o seu email \n\n"); // EMAIL
email = input.nextLine();
i++;
}
public Aluno busca (Aluno aluno[], int mat2)
{
for (i = 0; i <3; i++)
{
if(mat2 == aluno[i].matricula)
{
System.out.println (aluno[i].matricula);
}
}
return aluno[i];
}
}
segunda parte
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[3]; //Variavel do tipo da classe do outro programa
int op;
int i = 0;
int mat;
Aluno al;
do
{
System.out.print ("1-Criar cadastro \n2- Procurar matricula\n");
System.out.print("\n");
op = Integer.parseInt (input.nextLine ());
switch (op)
{
case 1: if (i >=3)
{
System.out.print ("Capacidade esgotada \n");
break;
}
else {
aluno [i] = new Aluno(); // cada laço, cria um novo Aluno
aluno[i].Cadastro(); // chamar procedimento do outro programa
i++;
break;
}
case 2:
System.out.print("Digite a matricula \n");
mat = Integer.parseInt (input.nextLine ());
busca(aluno[i],mat);
}
}while (op !=0);
}
}
o problema ocorre nas funções de busca, pois na de cadastro, funciona normal
alguem poderia me ajudar?
