Orientacao a objeto

To com uma dúvida em como faço para ler o nome que eu setei em usuariosCad() no metodo visualizarUsuario()… como faço para dar um getNome ali nesse metodo? aquela linha ali ta errada me ajudem valeu

[code]import javax.swing.*;
public class Pessoa {
public void usuariosCad(){
No novo = new No();
novo.setIdade(Integer.parseInt(JOptionPane.showInputDialog(“Idade”)));
novo.setNome((JOptionPane.showInputDialog(“Nome”)));
novo.setSexo((JOptionPane.showInputDialog(“Sexo”)));
}
public void visualizarUsuario(){

JOptionPane.showMessageDialog(null, "O nome é:" +novo.getNome());

}

}
[/code]

ps: A classe No ta feita…

boa noite!
a variável de referência novo, tu criou no metodo USUARIOSCAD(), logo,
tu tenta acessar essa variável dentro de OUTRO método???

se foi isso mesmo, não compilará (o método não “enchergará” a variável (fora de escopo))
se não, …
disponibiliza mais linhas de código que está relacionado, certo?
estamos aqui! :wink:

Olá,

 O Josueh está correto. Se vc declarar o novo nó como atributo da classe vai funcionar. Mas você tem que ver se é realmente isso que vc quer fazer.
 []s

Glauco Todesco

 public class Pessoa 
 {  
     No novo = new No();  

    public void usuariosCad(){  
         novo.setIdade(Integer.parseInt(JOptionPane.showInputDialog("Idade")));  
         novo.setNome((JOptionPane.showInputDialog("Nome")));  
         novo.setSexo((JOptionPane.showInputDialog("Sexo")));  
     }  

     public void visualizarUsuario(){  
   
           
     JOptionPane.showMessageDialog(null, "O nome é:" +novo.getNome());  
       
     }  
}

hhm gostei, e aproveitei e fiz umas coisas para testar:

Classe Pessoa

[code]import javax.swing.*;

public class Pessoa {

No novo = new No();

public void usuariosCad() {        
    
    novo.setIdade(Integer.parseInt(JOptionPane.showInputDialog("Idade")));
    novo.setNome((JOptionPane.showInputDialog("Nome")));
    novo.setSexo((JOptionPane.showInputDialog("Sexo")));
    
}

public void visualizarUsuario() {

    JOptionPane.showMessageDialog(null, "O nome é:" + novo.getNome() + 
            "\nA idade:" + novo.getIdade() + "\nO sexo:" + novo.getSexo() );

}

}[/code]

Classe No

[code]
public class No {

private int idade;
private String nome;
private String sexo;

public void setIdade(int idade) {
    this.idade = idade;
}

public void setNome(String nome) {
    this.nome = nome;
}

public void setSexo(String sexo) {
    this.sexo = sexo;
}

public int  getIdade() {
    return idade;
}

public String getNome() {
    return nome;
}

public String getSexo() {
    return sexo;
}

}[/code]

Classe AplicativoPessoa

[code]
public class AplicativoPessoa {
public static void main( String args[] ){

    // controi uma pessoa
    Pessoa p1 = new Pessoa();
    
    // inicia o cadastro dos dados 
    // da p1
    p1.usuariosCad();
    
    p1.visualizarUsuario();
    
    
}

}[/code]

abração

Luciano

olá!
se tu quer ‘fazer’ um método que Represente a Classe (os dados contidos no Objeto)
pesquisa sobre o método toString() de Object, no exemplo tu entende melhor :wink:

class Aluno {
  int matricula;
  String nome;

  public Aluno() {
    matricula = 10107;
    nome = "chico bento";
  }

  @Override
  public String toString() {
    return "Aluno: " + matricula + " " + nome;
  }
}
....
public static void main(String[] args) {
  Aluno a = new Aluno();
  System.out.println("Resultado: " + a );  // "Resultado:" + a.toString() 
}
....

dessa forma, a saída seria:

Resultado: Aluno: 10107 chico bento

entendeu?!?
assim, o teu objeto pode ser tratado como se fosse uma “string” …
toda vez que tu “somar” uma string com teu objeto, por exemplo, o método toString é chamado implicitamente para representar todo o objeto

bons códigos com toString()! :wink:
flws!