Estou começando a progamar em java e não sei o que errei neste código
6 respostas
G
Gabriel_Fernandes1
classConta{Stringnumero_da_conta;doublesaldo;Clientepessoa=newCliente();booleansaque(doublevalor){if(valor<=saldo){this.saldo-=valor;returntrue;}else{System.out.println("A opercao nao pode ser realizada, voce n pode sacar um valor maior que seu saldo");returnfalse;}}booleandeposito(doublevalor){this.saldo+=valor;}voidmostra(){System.out.println("Nome"+this.pessoa.nome);}}classCliente{Stringnome;Stringcpf;Datadata_de_entrada=newData();classData{intdia;intmes;intano;voidpreenche_data(intdia,intmes,intano){this.dia=dia;this.mes=mes;this.ano=ano;}Stringgetformatada(){returndia+"/"+mes+"/"+ano;}}classcontas{Contatiago=newConta();tiago.pessoa.nome="Tiago";}
Você está criando uma classe dentro de outra classe.
Creio que esse seja o problema.
M
MarceloDC
Vc criou um classe q faz a instância de uma outra classe, ai vc criou uma instância dessa outra classe, creio que vc não pode fazer isso. Tenta colocar as características de “Cliente” dentro da própria classe “Conta”.
M
Marcelom2205
O construtor não vai funcionar desta forma tente separar cada classe.
L
lzl_procopio
Falta a chave que fecha a classe Cliente.
Seu método depósito precisa declarar um retorno boolean Ex: `return true;
A instrução tiago.pessoa.nome = "Tiago"; precisa ser colocada dentro de um método ou um construtor. Ex:
Após corrigido seu código deveria ficar mais ou menos assim:
classConta{Stringnumero_da_conta;doublesaldo;Clientepessoa=newCliente();booleansaque(doublevalor){if(valor<=saldo){this.saldo-=valor;returntrue;}else{System.out.println("A opercao nao pode ser realizada, voce n pode sacar um valor maior que seu saldo");returnfalse;}}booleandeposito(doublevalor){this.saldo+=valor;returntrue;}voidmostra(){System.out.println("Nome"+this.pessoa.nome);}}classCliente{Stringnome;Stringcpf;Datadata_de_entrada=newData();classData{intdia;intmes;intano;voidpreenche_data(intdia,intmes,intano){this.dia=dia;this.mes=mes;this.ano=ano;}Stringgetformatada(){returndia+"/"+mes+"/"+ano;}}classcontas{Contatiago=newConta();publiccontas(){tiago.pessoa.nome="Tiago";}publicvoidfacaAlgo(){tiago.pessoa.nome="Tiago";}}}
JulioCesarSF
Ta muito bagunçado isso, começa com coisas mais fáceis para entender.
Tentar mudar para: Cliente com um objeto Conta dentro, depois você troca isso como querer.
Aparentemente você está tentando usar uma inner class. Começa com algo simples para entender o que se passa…