Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu tenho uma classe chamada Aluno (com os atributos privados Nome, Ra e Data [de nascimento]), e uma outra classe chamada Disciplina (com os atributos privados Codigo, Nome e Carga [horária]).
O professor pediu que em cada Classe (Aluno e Disciplina) tivesse um ArrayList com o objeto da Classe:
ArrayList<Aluno> alunos; //na Classe Aluno
ArrayList<Disciplina> disciplinas; //na Classe Disciplina
Essas classes foram criadas no Pacote modelo (pois é, ele também pediu para separarmos os pacotes).
Não sei como faço para inserir o objeto Aluno no ArrayList alunos, quer dizer, eu consigo colocar o objeto Aluno no ArrayList alunos, mas depois (em uma outra classe: VisorNotas) não consigo acessá-lo, nem mesmo os atributos da Classe Aluno...
para inserir eu fiz assim:
ArrayList<Aluno> alunos = new ArrayList<>();
Aluno aluno = new Aluno();
JTextField nome = new JTextField(20);
JTextField ra = new JTextField(20);
JTextField data = new JTextField(20);
JPanel myPanel = new JPanel();
myPanel.add(new JLabel("Insira o nome do aluno:"));
myPanel.add(nome);
myPanel.add(new JLabel("Insira o RA do aluno:"));
myPanel.add(ra);
myPanel.add(new JLabel("Insira a data de nascimento do aluno (dd/mm/aaaa):"));
myPanel.add(data);
JOptionPane.showMessageDialog(nome, myPanel);
aluno.setNome(nome.getText());
aluno.setRa(Integer.parseInt(ra.getText()));
aluno.setData(data.getText());
//alunos.add(aluno);
menu();
}
public void Alterar(){
String alterar = JOptionPane.showInputDialog("Insira o nome do curso que deseja alterar:");
Aluno novo = new Aluno();
JTextField nome = new JTextField(20);
JTextField ra = new JTextField(20);
JTextField data = new JTextField(20);
JPanel myPanel = new JPanel();
myPanel.add(new JLabel("Insira o novo nome do aluno:"));
myPanel.add(nome);
myPanel.add(new JLabel("Insira o novo RA do aluno:"));
myPanel.add(ra);
myPanel.add(new JLabel("Insira a nova data de nascimento do aluno:"));
myPanel.add(data);
JOptionPane.showMessageDialog(nome, myPanel);
novo.setNome(nome.getText());
novo.setRa(Integer.parseInt(ra.getText()));
novo.setData(data.getText());
for(int i = 0; i < alunos.size(); i++){
if(alunos.get(i).getNome().equals(alterar)){
alunos.set(i, novo);
}
}
E para tentar acessar os atributos eu estou fazendo assim(o ideal seria que eu encontrasse o ArrayList, mas se eu encontrar o nome já ficaria muito feliz):
Aluno aluno = new Aluno();
System.out.println(aluno.getNome());
ArrayList<Aluno> alunos = new ArrayList<>();
String lol = "";
for(int i = 0; i < alunos.size(); i++){
lol += "ALUNO: "+alunos.get(i).getNome()+"\n"
+"RA: "+alunos.get(i).getRa()+"\n"
+"DATA DE NASCIMENTO: "+alunos.get(i).getData()+"\n";
}
JOptionPane.showMessageDialog(null, lol);
Desde já, obrigado...
Carregando comentários...