Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kim sue il

Não consigo chamar nenhum atributo :(

Recommended Posts

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...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.