package caixaeletronico;
/**
*
* @author Rafael S.Durelli
*/
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.nio.Buffer;
import java.util.Scanner ;
import java.io.File ;
import java.io.PrintWriter ;
public class Cliente {
private String nome ; // vai ser o login do cliente..
private String senha ;
private double saldo ;
private String conta ;
private String agencia ;
private File file ;
private String ler ;
public Cliente(String nome, String senha, double valor, String conta, String agencia){
setNome(nome) ;
setSenha(senha) ;
setSaldo(valor) ;
setConta(conta) ;
setAgencia(agencia) ;
}
public void depositar(double valor){
int teste = verificaSenha() ;
if( teste == 1 ){
if( valor <= 0 ){
System.out.println("Valor invalido para depositar, valor negativo") ;
}
else
if( valor < 200 ){
System.out.println("Valor inválido para depositar o valor tem quer ser a cima de 200 reais") ;
}
else{
addSaldo(valor) ;
System.out.println("Valor depositado com sucesso.") ;
}
}
else{
System.out.println("Senha Ou Login inválido você erro mais de 3 vezes byby") ;
}
}
public void sacar( double valor ){
if( valor <= 0 ){
System.out.println("Valor inválido para sacar.");
}
if( valor > getSaldo() ){
System.out.println("Valor inválido para sacar.") ;
}
int teste = verificaSenha() ;
if( teste == 1 ){
if( valor <= getSaldo() ){
subSaldo(valor) ;
System.out.println("Valor sacado com sucesso") ;
}
}
else
{
System.out.println("Senha Ou Login inválido você erro mais de 3 vezes byby") ;
}
}
public int verificaSenha(){
Scanner scanner = new Scanner(System.in) ;
boolean teste = true ;
do{
System.out.println("Digite o seu LOGIN") ;
String login = scanner.nextLine() ;
System.out.println("Digite a sua SENHA") ;
String senha1 = scanner.nextLine() ;
if( login.equals(getNome()) && senha1.equals(getSenha() ) ){
teste = false ;
return 1 ;
}
else
{
System.out.println("Senha ou Login incorreto") ;
System.out.println("Por favor tente novamente") ;
System.out.println("Aguarde um momento....") ;
}
}while(teste );
return 0 ;
}
public void alteraSenha(){
Scanner scanner = new Scanner( System.in ) ;
boolean teste = true ;
do{
System.out.println(" Digite uma nova senha ");
String novaSenha1 = scanner.nextLine() ;
System.out.println(" Confirme a senha ") ;
String novaSenha2 = scanner.nextLine() ;
if( novaSenha1.equals(novaSenha2) ){
setSenha( novaSenha1 ) ;
teste = false ;
}
else
{
System.out.println(" A senha não está correta ") ;
}
}while(teste == true) ;
System.out.println(" A senha foi alterada Com Sucesso. ") ;
}
public void gerarArquivo(){
//gravando os dados em um arquivo .txt
try {
file = new File("Banco.txt") ;
PrintWriter pw = new PrintWriter(file) ;
pw.print("NOME ") ;
pw.print(getNome()) ;
pw.println() ;
pw.print("SALDO ") ;
pw.print(getSaldo()) ;
pw.println() ;
pw.print("CONTA ") ;
pw.print(getConta()) ;
pw.println() ;
pw.print("AGÊNCIA ") ;
pw.print(getAgencia()) ;
pw.close() ;
} catch (IOException e) {
e.printStackTrace() ;
}
}
public void lerArquivo(){
ler = null ;
StringBuilder stringBuilder = new StringBuilder() ;
try {
BufferedReader br = new BufferedReader(new FileReader("Banco.txt") ) ;
for(String str ; ( str = br.readLine() ) != null ; stringBuilder.append(str+"\n")) ;
} catch (FileNotFoundException e) {
e.printStackTrace() ;
}
catch( IOException e ){
e.printStackTrace() ;
}
System.out.println(stringBuilder.toString()) ;
}
public void dados(){
System.out.println("Nome :"+getNome()) ;
System.out.println("Agência :"+getAgencia()) ;
System.out.println("Saldo :"+getSaldo()) ;
System.out.println("Conta :"+getConta()) ;
}
public double getSaldo(){
return this.saldo ;
}
public void setSaldo(double saldo){
this.saldo = saldo ;
}
public void addSaldo(double saldo){
this.saldo += saldo ;
}
public void subSaldo(double valor){
this.saldo -= valor ;
}
public String getNome(){
return this.nome ;
}
public void setNome(String nome){
this.nome = nome ;
}
public void setSenha(String senha){
this.senha = senha ;
}
public String getSenha(){
return this.senha ;
}
public String getConta(){
return this.conta ;
}
public void setConta(String conta){
this.conta = conta ;
}
public String getAgencia(){
return this.agencia ;
}
public void setAgencia(String agencia){
this.agencia = agencia ;
}
}
Pessoal por que o saldo não diminui?
4 Respostas
o problema é q vc ta misturando a logica com uma classe de getter e setter,
divide isso, faz um psvm e testa isso fora, em outra classe,
eu to testando aki dps eu falo
abras
Você está sobreescrevendo o valor… eu acho…
assim: Dentro do método depositar(), você passa o valor para deposito e logo em seguida,
você adiciona esse valor ao saldo. isso na primeira vez.
Depois ele vai lá e deposita novamente um valor… quando você adiciona ele de novo, esse
valor depositado agora esta sobreescrevendo o de antes e não somando. valor+valor = saldoAtual.
Não sei, deve ser isso…
Tchauzin!
Cara eu peguei todo o seu codigo e refiz tudo…
fiz 3 classes aqui, é assim que vc deve fazer, e nao essa salada q vc me apresentou.
me passa teu email q eu mando blz
abrass…
Ai bebad meu e-mail é [email removido]