Ola!!
Quando executo a classe principal, ao invés de mostrar o valor da variável ele mostra o endereço dela: br.com.banco.contas.SeguroVida@33909752
O que faz gerar este erro?
Alguma declaração errada?
#novata
Ola!!
Quando executo a classe principal, ao invés de mostrar o valor da variável ele mostra o endereço dela: br.com.banco.contas.SeguroVida@33909752
O que faz gerar este erro?
Alguma declaração errada?
#novata
Isso não é um erro, é apenas a implementação padrão do método toString(), que retorna:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Se você quer que o toString()
da classe br.com.banco.contas.SeguroVida
retorne outra coisa, você precisa sobrescrevê-lo.
Mas isso esta vindo de um get:
cli.apolice.getApolice(1308); //chamo no principal
//get na classe:
public int getApolice(int a) {
this.apolice = a;
return (this.apolice);
}
Com certeza o br.com.banco.contas.SeguroVida@33909752
não está vindo do seu método getApolice(int)
, até porque seu método retorna um int
e não um objeto do tipo SeguroVida
.
Posta o código da sua classe principal.
package br.com.banco.contas;
public class Principal {
public static void main(String[] args) {
CPoupanca c = new CPoupanca(2973,4290);
Cliente cli = new Cliente();
Data d = new Data();
SeguroVida s = new SeguroVida();
//preenchendo os atributos da conta
c.titular= cli;
c.titular.getNome("Mario");
c.getSaldo(0.0);
c.dataAbertura = d; //passa a referencia da data
c.dataAbertura.dia=28;
c.dataAbertura.mes=02;
c.dataAbertura.ano=2018;
System.out.println("Deposito realizado: " + c.deposito(500.0));
c.saque(50.0);
System.out.println(c.extrato());
System.out.println("Valor rendimento mensal (1%): " + c.rendimento());
System.out.println("Seguro de Vida");
cli.apolice = s;
cli.apolice.getApolice(1308);
s.getValorSeguro(200000.00);
System.out.println("O numero a apolice de seguro é: " + cli.apolice + "com o valor de: " + s.valorSeguro);
System.out.println("Contas criadas: " + Conta.getContador() + "\n");
}
}
Você está implimindo o objeto cli.apolice
e não o numero retornado pelo método cli.apolice.getApolice(1308)
.
int numeroApolice = cli.apolice.getApolice(1308);
s.getValorSeguro(200000.00);
System.out.println("O numero a apolice de seguro é: " + numeroApolice + " com o valor de: " + s.valorSeguro);
Qual a necessidade de ter um método getApolice
que retorna o próprio parâmetro que você informou?
aaaaaaaa que erro tosco! risos!
quanto ao get, é exigência não inserir nenhum numero direto, todos devem ter o get.