bom galera , sou novo em java,mais vamos la...
tenho q fazer uma classe que contenha metodos cadastrar e consultar apenas,
estão feitos já,porem quando cadastro mais de um,quando vou consultar ,ele sempre me mostra o ultimo registro que foi cadastrado.
package sistemaacademico;
import java.util.ArrayList;
import javax.swing.JOptionPane;
/**
*
* @author Jogos
*/
public class SistemaAcademico {
public ArrayList aluno;
public SistemaAcademico(){
aluno = new ArrayList();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int opcao;
SistemaAcademico sa = new SistemaAcademico();
Aluno al = new Aluno();
while(true)
{
opcao = Integer.parseInt(JOptionPane.showInputDialog("Sistema academico"
+ "\n1 - Cadastrar aluno"
+ "\n2 - Consultar Aluno"
+ "\n0 - Sair"));
switch(opcao){
case 1:
al.rgm = JOptionPane.showInputDialog("Digite o RGM do aluno:\n");
al.nome = JOptionPane.showInputDialog("Digite o nome do aluno:\n");
// al.endereco = JOptionPane.showInputDialog("Digite o endereço do aluno:\n");
al.curso = JOptionPane.showInputDialog("Digite o curso do aluno:\n");
sa.cadastrar(al);
JOptionPane.showMessageDialog(null, "Cadastrado com sucesso!");
break;
case 2:
al.rgm = JOptionPane.showInputDialog("Digite o RGM a ser consultado:\n");
al = sa.consultar(al);
JOptionPane.showMessageDialog(null, "Nome: " + al.nome + "\nCurso: " + al.curso + "\nEndereço: " + al.endereco);
break;
case 0:
return;
default:
JOptionPane.showMessageDialog(null, "Valor Invalido!");
continue;
}
}
}
void cadastrar(Aluno al){
aluno.add(al);
}
private Aluno consultar(Aluno al){
Aluno aux;
for(int i = 0; i < aluno.size(); i++){
aux = (Aluno)aluno.get(i);
if(al.rgm.equals(aux.rgm))
{
return aux;
}else{
break;
}
}
JOptionPane.showMessageDialog(null, "Nenhum Aluno encontrado!");
return null;
}
}
package sistemaacademico;
/**
*
* @author Jogos
*/
class Aluno {
String rgm,
nome,
endereco,
curso;
//metodos get/sets
Por Favor ajudem um novato em java. Obrigado!