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());
}
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!
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();
}
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
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