Como assim, Rodrigo?
Por favor peço que tenha paciência pois sou iniciante!
tipo eu executo a classe Programa, onde eu mesmo declarei o método main!
Rodrigo_Sasaki
Sim sim, o que eu quero saber é como você está executando a sua classe.
Você está executando ela a partir de uma IDE? (Eclipse, NetBeans, IntelliJ IDEA) ?
Você está compilando via javac e executando via java em linhas de comando?
Você criou um arquivo jar e está tentando executá-lo ?
stephany_13
Eu uso Netbeans
stephany_13
Ai quando eu vou sacar e depositar o Saldo não muda… Continua 1000.0 REAIS.
sendo que eu dei o valor de 200 para sacar e 500 para depositar.
Acho que estou fazendo uma confusão rsrs
me ajudem???
Rodrigo_Sasaki
Ué, peraí… Sua classe está sendo executada? Eu achei que estava com problemas.
stephany_13
NA PRIMEIRA QUE EU TE MANDEI, NÃO EXECUTA…
MAS QUANDO EU ADICIONO OS VALORES DE SACA E DEPOSITA ELE COMPILA NORMAL…
TA MUITO CONFUSO ISSO…
TEM ALGUMA COISA ERRADA E NÃO SEI O QUE É!
stephany_13
AGORA EXECUTO…
MAS EU CONTINUO COM O PROBLEMA DE ELE NÃO TIRAR 200 E DEPOSITAR 500
O QUE PODE SER?
Rodrigo_Sasaki
Acontece que você está mexendo com atributos quando deveria utilizar métodos.
métodos dão comportamento à sua classe, no caso, manipulam o saldo. A sua classe conta não deve ter atributos saca e deposita, e sim métodos sacar() e depositar(). Veja:
Fiz assim como te mandei e não mudou o valor também…
Esse THIS serve para que?
Entendi algumas partes apenas!
Rodrigo_Sasaki
Não, a ideia é você simplesmente usar os métodos da conta. assim:
publicstaticvoidmain(String[]args){Contaconta=newConta();conta.depositar(1000);conta.sacar(500);System.out.println("O saldo da conta é: "+conta.consultarSaldo());}
stephany_13
Estou estudando pela apostila da Caelum e apenas está assim:
classTestaAlgunsMetodos{publicstaticvoidmain(String[]args){// criando a contaContaminhaConta;minhaConta=newConta();// alterando os valores de minhaConta˜minhaConta.dono="Duke";minhaConta.saldo=1000;// saca 200 reaisminhaConta.saca(200);// deposita 500 reaisminhaConta.deposita(500);System.out.println(minhaConta.saldo);}˜}
Rodrigo_Sasaki
stephany_13:
Estou estudando pela apostila da Caelum e apenas está assim:
classTestaAlgunsMetodos{publicstaticvoidmain(String[]args){// criando a contaContaminhaConta;minhaConta=newConta();// alterando os valores de minhaConta˜minhaConta.dono="Duke";minhaConta.saldo=1000;// saca 200 reaisminhaConta.saca(200);// deposita 500 reaisminhaConta.deposita(500);System.out.println(minhaConta.saldo);}˜}
Não entendi o que você quis dizer com isso.
stephany_13
Mas perai, preciso fazer as variáveis sacar e depositar? Ou só métodos mesmo?
Pois aqui eu coloquei as variáveis com os mesmo nomes dos métodos, agora ficou mais confuso rs
:shock:
Rodrigo_Sasaki
stephany_13:
Mas perai, preciso fazer as variáveis sacar e depositar? Ou só métodos mesmo?
Pois aqui eu coloquei as variáveis com os mesmo nomes dos métodos, agora ficou mais confuso rs
:shock:
Não, as variáveis sacar e depositar não devem existir.
stephany_13
Você tem o TeamViewer ai?
quer entrar no meu pc pra ver ± o que eu estou fazendo?
só assim mesmo pra mim entender rs
se vc não estiver ocupado é claro!
Rodrigo_Sasaki
stephany_13:
Você tem o TeamViewer ai?
quer entrar no meu pc pra ver ± o que eu estou fazendo?
só assim mesmo pra mim entender rs
se vc não estiver ocupado é claro!
Agora não tenho como não, mas você está no caminho certo. Exclua as 2 variáveis, porque elas não devem existir. E se tiver mais alguma dúvida pode perguntar aqui que não tem problema.
veja se não é o tipo de dado que está diferente, coloque todos como int ou todos como double
Não seria mais fácil simplesmente copiar o exemplo da apostila pra estudar?
stephany_13
Mas não mostra erro nenhum tipo a exclamação.
porém não executa e no run aparece isso que te mostrei:
essa IDE é fdp rs
stephany_13
Bom ficou assim:
Ve se vc consegue ver melhor???
stephany_13
CONSEGUIIIIIIIIIIIIIIIIIIIIIIIIII \O/
:lol:
OBRIGADA QUERIDO!!!
Rodrigo_Sasaki
Acho que seu projeto está com problemas, ele está procurando o atributo saca que não existe mais. Veja se tem alguma opção para limpar o projeto.
Não tenho muita experiência com o Netbeans
stephany_13
Antes de eu por resolvido, teria como só você me explicar o THIS?
:?:
Rodrigo_Sasaki
o this é uma palavra reservada que diz que você está se referindo a instância em questão, ela é usada no método set para diferenciar as 2 variáveis, veja o exemplo:public void setSaldo(double saldo){
this.saldo = saldo;
}repare que a variável da classe se chama saldo, e o argumento do método também, isso é algo que chamamos de sombreamento, temos 2 variáveis com o mesmo nome, no mesmo escopo.
Então como fazemos para diferenciar um do outro? Para dizermos que estamos atribuindo o saldo do argumento no saldo da classe, utilizamos o this, como no exemplo.
stephany_13
Vamos pegar esse exemplo :
public class Conta {
public int numero;
public String dono;
public double saldo;
public double limite;
public void Sacar (double valor) {
this.saldo = saldo - valor;
o que eu entendi foi que o this.saldo se diz que saldo é = saldo - valor??
é isso?
Se não for por favor pega esse exemplo..
rs
e desculpa por ser tão lenta, tenho dislexia e as vezes fica complicado.
Rodrigo_Sasaki
Ah sim, nesse exemplo não precisaria utilizar o this.
Como só existe um saldo no escopo, ele consegue saber quem é.
stephany_13
Agora entendi.
Se tivesse no parametro double saldo ai precisaria…
Pois teria que mostrar que this.saldo seria o atributo.