no seu método, se o balanço é maior ou igual a cinquenta, o débito é feito duas vezes. Tá certo isso ou foi o Paulo Maluf que escreveu o método pra vc?
renatorudolf
rsrsrsr tá certo isso
eu quero q ele me volte a resposta verdadeira
assim q o usuario digitar um valor.
Ja utilizei entrada para o usuario digitar um valor.
Obs: Ja tem um parametro com valor 50
renzonuccitelli
eu entendi que o usuário digita um valor, provavelmente o de débito. Pelo menos na lógica dos bancos reais, vc deveria tirar o débito da conta da pessoa somente a cada saque, e não duas vezes para o mesmo saque, mas enfim, se vc está dizendo que está certo…
ja criei um objeto, a saida fiz assim: System.out.printf(" O valor agora é: %.2f ", my.getBalance() );
Com esse codigo acima sai os dois valores
e gostaria q ele me retornasse apenas o verdadeiro
Não entendi o que vc kis dizer com sai os dois valores, se puder explicar melhor derrepente da pra te ajudar…
renatorudolf
na hora de imprimir System.out.printf(" O valor agora é: %.2f ", my.getBalance() );
aparece 2 valor e nao um "o verdadeiro
aparece
Quantia de debito excedeu o saldo da conta O valor agora é: -10
sendo q quero q apareça Quantia de debito excedeu o saldo da conta ou O valor agora é: 10 (No caso de ter digitado 40)
renzonuccitelli
Vamos lá:
primeiramente use a tag code (tem o botao com esse nome qdo vc escreve uma msg no GUJ) pro seu código ficar mais legível, assim:
publicvoiddebit(doubledeb){balanço=balanço-deb;if(balanço<00.00)System.out.printf(" Quantia de debito excedeu o saldo da conta");if(balanço>=50.00)balanço=balanço-deb;}publicdoublegetBalance(){returnbalanço;}
renatorudolf
[code]public void debit ( double deb )
{ balanço = balanço - deb;
if ( balanço < 00.00 )
System.out.printf(" Quantia de debito excedeu o saldo da conta");
if ( balanço >= 50.00 )
balanço = balanço - deb;
}
public double getBalance()
{
return balanço;
}
renzonuccitelli
Se vc reparar, na linha 4 e 8, vc retira o valor do débito. Em nenhuma hora vc faz o teste em relação ao debito, apenas ao balanço. Talvez ficaria melhor assim
publicvoiddebit(doubledeb){if(balanço-deb<0)System.out.printf(" Quantia de debito excedeu o saldo da conta");elsebalanço-=deb;}publicdoublegetBalance(){returnbalanço;}
renatorudolf
me desculpe, pela falha
como faço pra sair apenas uma resposta
renzonuccitelli
Não precisa pedir desculpa não, com o tempo a gente vai aprendendo. Vê se o código que coloquei funciona como vc quer.
Quanto a tag code, vc tem que apertar o botao uma vez, colocar o código que vc quer, e depois apertar o botao de novo pra fechar a tag…
renatorudolf
ainda continua saindo com 2 resultados
quando coloco um valor menor q 50 ele me traz o resutaldo certo, agora quando coloco um resultado maior
que 50 ele me tras os 2 resultados
renzonuccitelli
Vc usou o codigo abaixo?
publicvoiddebit(doubledeb){if(balanço-deb<0)System.out.printf(" Quantia de debito excedeu o saldo da conta");elsebalanço-=deb;}publicdoublegetBalance(){returnbalanço;}
Se usou, coloque o código em que vc chama o método debit pra eu dar uma olhada...
renatorudolf
System.out.print("\n Insira um valor para saque:");
double Cconta = input.nextDouble();
my.debit(Cconta);
renatorudolf
tem algo errado ?
JonasZzZz
você por acaso colocou depois desse my.Debit(Cconta), algo do tipo…
System.out.println(“O seu saldo é de” + my.getBalance());
só pra saber…
renatorudolf
sim brother
System.out.printf(" O valor agora é: %.2f ",my.getBalance());
JonasZzZz
se essa linha está no main()… ele vai gerar essa saída:
Quantia de debito excedeu o saldo da contao saldo O valor agora é: (valor)
bom, uma solução é colocar essa linha na classe Conta que contem o campo balanco(ah… nao use ç para programar… ex: balanço) :
classConta{doublebalanco=100;publicvoiddebit(doubledeb){if(balanco-deb<0){// você pode perguntar se deb > balanco... fica melhor //pois o computador só faz uma conta...System.out.println(" Quantia de debito excedeu o saldo da conta\n");}else{balanco-=deb;System.out.printf("A quantia agora é: %.2f\n",getBalance());}}publicdoublegetBalance(){returnbalanco;}}
importjava.util.Scanner;classTesteConta{publicstaticvoidmain(Stringargs[]){Contac=newConta();Scannerinput=newScanner(System.in);System.out.print("Digite o debito");doubledebito=input.nextDouble();c.debit(debito);}}
existem varias solções… essa é uma…
[ ]'s
JonasZzZz
qualquer coisa pode perguntar…
renatorudolf
muito obrigado jonas
tava errando na função if “na hora do computador fazer a conta”