Duvida no Básico

Estou com uma duvida, tenho duas classes Conta e TestaConta

[code]class Conta {
int numero;
double saldo;
double limite;
Cliente titular = new Cliente();

void saca(double valor) {
this.saldo = (this.saldo - valor);
}

void deposita(double quantidade) {
this.saldo += quantidade;
}

void transfere(Conta destino, double val) {
this.saca(val);
destino.deposita(val);
}
}[/code]

[code]class TestaConta {
public static void main(String[] args) {
Conta minhaConta = new Conta();
Conta minhaConta2 = new Conta();
minhaConta.titular.nome = “Leonardo”;
minhaConta.titular.sobrenome = “T.”;
minhaConta.titular.cpf = “002.003.004-05”;
minhaConta.numero = 15350;
minhaConta.saldo = 1500;
minhaConta.limite = 1000;
minhaConta2.titular.nome = “Larini”;
minhaConta2.titular.sobrenome = “M.”;
minhaConta2.titular.cpf = “000.000.001-01”;
minhaConta2.numero = 1018;
minhaConta2.saldo = 1500;
minhaConta2.limite = 1000;

System.out.println(“Saldo Atual: " + (minhaConta.saldo + minhaConta.limite));
System.out.println(” ");

minhaConta.deposita(350);

System.out.println(“Saldo Atual: " + (minhaConta.saldo + minhaConta.limite));
System.out.println(” ");

minhaConta2.deposita(200);

System.out.println(“Saldo Atual: " + (minhaConta2.saldo + minhaConta2.limite));
System.out.println(” ");

minhaConta.saca(1);
minhaConta2.saca(1);

// minhaConta.transfere(minhaConta2,500);

System.out.println(“Saldo Conta 1” + minhaConta.saldo);
System.out.println(“Saldo Conta 2” + minhaConta2.saldo);
}
}[/code]

Quando eu Rodo o TestaConta ele faz o depósito beleza, porém quando eu chamo o método saca ele retorna uns valores malucos, sou novo em java estou no básico e não estou entendendo esta diferenca. Será que tem alguem para me dar uma luz, este exemplo eu tirei da apostila da caleum
Quando rodo o programa depois de sacar 1 da conta elas vão para 11.mil e a outra vai para 22.mil

Cara coloca um : depois dos println

 System.out.println("Saldo Conta 1: " + minhaConta.saldo);  
 System.out.println("Saldo Conta 2: " + minhaConta2.saldo);  

que vai ficar tudo certo!

huaeuhaeuhaeuha

cara melhor erro que eu ja vi XD

eu tava debugando o codigo para tentar achar o problema e os valores estavam certinho

ai vi o post do josemanzoli, e de fato ri ,pois eu cometi o mesmo erro de nao ver a concatenaçao haeha

Eu caí também. Só achei no debug!

Ahauhuahuahuahuhua

Esta é a maior pegadinha , imprime assim 1que não vai ter problema.

System.out.println("saldo: "+minhaConta.saldo);

qual que é a função do :, a minha dúvida é, neste caso o dois pontos é bem vindo pois após eu vou colocar um valor, mas e se eu tivesse que colocar uma string sem que ela terminasse em :

Cara… seguinte…

Tipo o : não tem função nenhuma ele está dentro da string do seu println().

A única coisa que ele está fazendo é separando o seu 1 da String Saldo da Conta 1 do saldo impresso, por isso você teve a impressão de que o saldo estava errado.

Fica assim a Saída

Saldo Conta 11849.0
Saldo Conta 21699.0

e com o : fica

Saldo Conta 1: 1849.0
Saldo Conta 2: 1699.0

não amigo, acredito que não tenha intendido o que aconteceu

System.out.println("Saldo Conta 1" + minhaConta.saldo);

este eh teu codigo correto?
ignore o “minhaConta.saldo”
oq que imprimiria?
“Saldo Conta 1” correto?

agora eu qro concatenar ai o numero “1” sem deixar nem um espaço(que eh o que contece no teu system.out)
ficaria assim “Saldo Conta 11”

entendeu?

Agora eu entendi, me coloquei numa sinuca de bico e não percebi, o 1 e o dois que iniciavam o saldo era do literal que estava entre " ". Valew pela dica, no começo achi que o dois pontos tinha uma função especifica. Era só para separar do meu literal, poderia ser qualquer simbolo.
Obrigado

[quote]Agora eu entendi, me coloquei numa sinuca de bico e não percebi, o 1 e o dois que iniciavam o saldo era do literal que estava entre " ". Valew pela dica, no começo achi que o dois pontos tinha uma função especifica. Era só para separar do meu literal, poderia ser qualquer simbolo.
Obrigado[/quote]

eu que agradeço, a lição que aprendi com relação a atenção foi enorme hehehehe. pois eu cometi o mesmo erro.

Isso é verdade mesmo, atenção também foi meu pecado nesse teste! HHUAHUAHUAHUHUA

Mas é isso aí mesmo qualquer coisa que você colocasse lá ia funcionar, eu falei : porque anteriormente você já tinha usado eles para separar nas outras mensagens!