Ajuda em exercicio, Variável Referência. [Resolvido]
14 respostas
geekcom
Bom dia pessoal, sou novo em Java, fiz um exercicio sobre variavéis de referência e não consigo compilar o código, gostaria de pedir a ajuda dos colegas do fórum no sentido de me ajudarem a identificar o erro e qual seria a variável de referência no código:
/***@author Daniel Rodrigues*Exercicio sobre variável de referência.*/publicclassTesteConta{publicstaticvoidmain(Stringargs[]){Contaconta1=newConta();conta1.titular=newString("José Zé");conta1.numero=01;conta1.saldo=100.00;System.out.println(conta1);//Mostra Endereço da variavel na memória.System.out.println("Titular:"+conta1.titular);System.out.println("Conta:"+conta1.numero);System.out.println("Saldo Disponível:"+conta1.saldo);Contaconta2=newConta();conta2.titular=newString("Maria Silva");conta2.numero=02;conta2.saldo=200.00;System.out.println(Conta2);//Mostra Endereço da variavel na memória.System.out.println("Titular"+conta2.titular);System.out.println("Conta:"+conta2.numero);System.out.println("Saldo Disponível:"+conta2.saldo);}}
Nesta parte do código não é necessário popular o atributo titular com um new String, se o valor é String, basta passar o mesmo entre aspas(" ").
geekcom
Boa tarde JorjaoCorreia, eu fiz isso abaxo para servir de referência para min mesmo pois aindo sou iniciante:
conta1.titular=newString("José Zé");
então o erro que acontece é o seguinte:
cannot find symbol
Conta conta1 = new Conta();
… e não compila meu código, não consigo identificar o erro de jeito nenhum.
JorjaoCorreia
Vc está usando alguma IDE ou está usando o compilador java mesmo?
Sua classe Conta está no mesmo documento que a classe TestaConta?
geekcom
JorjaoCorreia:
Vc está usando alguma IDE ou está usando o compilador java mesmo?
Sua classe Conta está no mesmo documento que a classe TestaConta?
Estou usando o bloco de notas e o javac mesmo, tento compilar --> TesteConta.java
JorjaoCorreia
Certo, vc criou um documento pra classe Conta e um pra classe TestaConta ou colocou as duas classes no mesmo documento .java?
Se criou 2 classes compile primeiro a classe Conta.java depois a classe TestaConta.java, feito isto execute a classe TestaConta. Exemplo:
javac Conta.java
javac TestaConta.java
Em seguida:
java TestaConta
Veja se assim vai dar certo.
JorjaoCorreia
Se não der certo posta a classe Conta aqui pra darmos uma olhada, blz?
geekcom
JorjaoCorreia:
Certo, vc criou um documento pra classe Conta e um pra classe TestaConta ou colocou as duas classes no mesmo documento .java?
Se criou 2 classes compile primeiro a classe Conta.java depois a classe TestaConta.java, feito isto execute a classe TestaConta. Exemplo:
javac Conta.java
javac TestaConta.java
Em seguida:
java TestaConta
Veja se assim vai dar certo.
Criei um documento só TesteConta.java, e usei javac TesteConta.java
e o código é esse ai, que estranho isso cara.
JorjaoCorreia
Mas e a sua classe Conta.java? Ali vc colocou a classe TestaConta.java, coloca a classe Conta.java pra ver se tem algum erro nela.
Vc criou a classe Conta.java né?
geekcom
JorjaoCorreia:
Mas e a sua classe Conta.java? Ali vc colocou a classe TestaConta.java, coloca a classe Conta.java pra ver se tem algum erro nela.
Vc criou a classe Conta.java né?
Não criei não, foi isso que eu não tava entendendo tem relação com a variavel de referencia Conta?, então eu crio uma classe conta e compilo? e depois executo qual .class?
JorjaoCorreia
Sim. Quando vc cria o código Conta conta = new Conta() vc está instanciando a classe conta, ou seja, criando um Objeto da classe conta, se a classe Conta não existe, não ha como instancia-la, por isto não está conseguindo compilar seu código, vc deve criar a classe conta da seguinte maneira:
Estes foram os atributados da classe que eu vi ali no código que vc passou como exemplo, se existem outros atributos, basta inclui-los na classe Conta.
Para estudar, te recomendo a apostila FJ11 da Caelum, ela explica bem estes conceitos.
JorjaoCorreia
Um exemplo pra vc intender melhor:
classCarro{Stringcor;Stringmodelo;doublevelocidadeAtual;doublevelocidadeNova;voidliga(){System.out.println("O carro esta ligado!");}voidacelera(doublequantidade){this.velocidadeAtual+=quantidade;}}classTestaCarro{publicstaticvoidmain(Stringargs[]){Carrocarro;carro=newCarro();carro.liga();}}
Ao compilar a classe, o javac vai gerar 2 arquivos .class, o Carro.class e o TestaCarro.class,
vc executa a classe TestaCarro, porque é nela que está o método Main, intende?
java TestaCarro
geekcom
JorjaoCorreia:
Sim. Quando vc cria o código Conta conta = new Conta() vc está instanciando a classe conta, ou seja, criando um Objeto da classe conta, se a classe Conta não existe, não ha como instancia-la, por isto não está conseguindo compilar seu código, vc deve criar a classe conta da seguinte maneira:
Estes foram os atributados da classe que eu vi ali no código que vc passou como exemplo, se existem outros atributos, basta inclui-los na classe Conta.
Para estudar, te recomendo a apostila FJ11 da Caelum, ela explica bem estes conceitos.
Muito obrigado cara, entendi agora os conceitos de variavel de instancia, voce me deu uma luz, thanks brother.
JorjaoCorreia
Opa, por nada. Só edita o título do tópico, coloca [RESOLVIDO] no fim dele, blz?
geekcom
JorjaoCorreia:
Opa, por nada. Só edita o título do tópico, coloca [RESOLVIDO] no fim dele, blz?