Ola,
Como imprimo a string que tah no 1º construtor?
Se eu fizer = o 2º construtor vai funfar mas tem otra maneira?
public class Cao
{
String nome,cor;
double peso;
Cao(String passnome){
passnome = "Aqui sem nome ainda";
}
Cao(){
nome="Erwin";
}
void mpeso(double passpeso){
passpeso= 44.2;
System.out.println(passpeso);
}
void mcor(String passcor){
passcor="WHITE";
System.out.println(passcor);}
public static void main(String []args){
Cao i = new Cao();
i.mpeso(i.peso);
i.mcor(i.cor);
System.out.println(i.passnome);//AKI ERROR; como imprimir a string passnome?
System.out.println(i.nome);
}
}
Cara eh o seguinte
o java tem padronizações para facilitar nossa vida, o seu passnome seria uma função na qual atribuiria o resultado do construtor a variavel nome
ele entao deixa de ser passnome e passa a ser setNome(String nome); recebendo o nome tendo que ser implementado o mesmo em seu codigo, segue a baixo como ficaria.
[code]public class Cao
{
String nome,cor;
double peso;
//Crie metodos get e set
public void setNome(String nome){
this.nome=nome;
}
public String getNome(){
return nome;
}
// e por ai vai, termine de ageitar seu codigo abaixo e crie o resto dos getters e seterrs
Cao(String passnome){
setNome( “Aqui sem nome ainda”);
}
Cao(){
setNome(“Erwin”);
}
void mpeso(double passpeso){
setPeso( 44.2);
System.out.println(getPeso());
}
void mcor(String passcor){
String passcor="WHITE";
System.out.println(passcor);}
public static void main(String []args){
Cao i = new Cao();
i.mpeso(i.peso);
i.mcor(i.cor);
System.out.println(i.passnome);//AKI ERROR; como imprimir a string passnome?
System.out.println(i.nome);
}
System.out.println(i.passnome);//AKI ERROR; como imprimir a string passnome?
revisa primeiro o programa…tou vendo que na verdade passnome é o nome de um argumento de seu primeiro construtor e nada mais, isso não o torna uma propriedade pelo fato de tá nos argumentos do contrutor.
Sugestão:
[code]public class Cao
{
String nome,cor,passnome;
double peso;
Cao(String passnome){
this.passnome = passnome;
}
Cao(){
this("vai imprimir esse agora");
nome="Erwin";
}
void mpeso(double passpeso){
passpeso= 44.2;
System.out.println(passpeso);
}
void mcor(String passcor){
passcor="WHITE";
System.out.println(passcor);}
public static void main(String []args){
Cao i = new Cao();
i.mpeso(i.peso);
i.mcor(i.cor);
System.out.println(i.passnome);//AKI ERROR; como imprimir a string passnome?
System.out.println(i.nome);
}
}
[/code]
Repare que chamei o construtor sobrecarregado dentro do outro.
olha quase consegui com o gets e sets mas naun deu…
ae aqui foi o resultado que queria
mas permanece algumas duvidas
reparem nos comentarios
vleeews
public class Cao
{
String nome,cor,passnome;
double peso;
Cao(String passnome){
this.passnome=("Aqui sem nome ainda");//na verdade esse this define o q?
}
Cao(){
this("Aqui nao imprime pq?");// qual oreal significado do this e this.?
nome="Erwin";
}
void mpeso(double passpeso){
passpeso=44.2;
System.out.println(passpeso);
}
void mcor(String passcor){
passcor="WHITE";
System.out.println(passcor);}
public static void main(String []args){
Cao i = new Cao();
i.mpeso(i.peso);
i.mcor(i.cor);
System.out.println(i.nome);
System.out.println(i.passnome);
}
}
public class Cao
{
String nome,cor,passnome;
double peso;
//Uma dica! procure diferenciar no nome do argumento passado no construtor e o nome do atributo de classe. Isso é importante para que o código fique mais claro.
Cao(String pPassnome){ //Note que eu troquei o nome do parametro de passnome para pPassnome
this.passnome=("Aqui sem nome ainda");//na verdade esse this define o q? Esse this é a referencia ao objeto corrente. o que voce está fazendo é atribuindo o valor "Aqui sem nome ainda" ao atributo de classe passnome
}
Cao(){
this("Aqui nao imprime pq?");// qual oreal significado do this e this.? nessa linha voce está chamando o construtor da classe Cao que recebe como parametro uma String. A frasse "Aqui nao imprime pq?" não é utilizada porque no Construtor ( O que recebe uma String) voce não faz nada com ela(o parametro pPassnome não é usado no construtor)
nome="Erwin";
}
void mpeso(double passpeso){
passpeso=44.2;
System.out.println(passpeso);
}
void mcor(String passcor){
passcor="WHITE";
System.out.println(passcor);}
public static void main(String []args){
Cao i = new Cao();
i.mpeso(i.peso);
i.mcor(i.cor);
System.out.println(i.nome);
System.out.println(i.passnome);
}
}
o valor que vc quer imprimir está em uma variavel local vc poderia colocar um System.out.println() e quando ele executar seria impresso ou fazer o que a galera falou, agora siga os padroes recomendados pela Sun, como vc está começando começe a si educar desde ja, pq depois que se acostuma com as gambiarras eh dificil sair delas, gambiarras é um droga na vida de um programador…