Quando executo o codigo, recebo as mensagens de que atributos do tipo inteiro sao grandes demais, mas na vdd nao sao. Eu tenho a classe Conta e a classe Data, sendo que esse objeto Data esta referenciado em um atributo da minha classe Conta, o erro se da na inicializacao dos atributos quando instancio o objeto Conta, segue o codigo:
package br.com.dev.banco;
public class Conta {
private String nome;
private int id_conta;
private double saldo;
private Data dt_abertura;
public Conta(String nome, int id_conta, double saldo, Data d){
this.nome = nome;
this.id_conta = id_conta;
this.saldo = saldo;
this.dt_abertura.setDia(d.getDia());
this.dt_abertura.setMes(d.getMes());
this.dt_abertura.setAno(d.getAno());
}
public String getNome(){
return this.nome;
}
public int getId_conta(){
return this.id_conta;
}
public double getSaldo() {
return this.saldo;
}
public void saca(double valor){
if(valor>this.saldo){
System.out.println("Saldo insuficiente para saque");
}else {
this.saldo -= valor;
System.out.println("Saque efetuado");
}
}
public void deposita(double valor){
this.saldo+=valor;
System.out.println("Deposito efetuado");
}
public void transferePara(Conta c, double valor){
if(valor>this.saldo){
System.out.println("Saldo insuficiente para transferencia");
}else{
this.saldo-=valor;
c.saldo+=valor;
}
}
public void exibirInfo(Conta c){
System.out.println(c.getNome());
System.out.println("\n"+c.getId_conta());
System.out.println("\n"+c.getSaldo());
System.out.println("\n"+c.dt_abertura.exibirData());
}
}
package br.com.dev.banco;
public class Data {
private int dia;
private int mes;
private int ano;
public Data(int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
public int getDia(){
return this.dia;
}
public int getMes(){
return this.mes;
}
public int getAno() {
return this.ano;
}
public void setDia(int dia){
this.dia = dia;
}
public void setMes(int mes){
this.mes = mes;
}
public void setAno(int ano){
this.ano = ano;
}
public void exibirData(Data d){
System.out.println("Data de abertura da conta: "+d.getDia()+"/"+d.getMes()+"/"+d.getAno());
}
}
package br.com.dev.banco;
public class CaixaEletronico {
public static void main(String[] args) {
Data d = new Data(08,07,2018);
Conta conta1 = new Conta("Wendel",123,5100,d);
Data d2 = new Data(09,07,2018);
Conta conta2 = new Conta("Claudio",456,2340,d2);
conta1.transferePara(conta2,250);
conta1.exibirInfo();
conta1.saca(100);
}
}
Mensagem de erro: Error:(9, 23) java: integer number too large: 08
Error:(11, 24) java: integer number too large: 09
Seria erro nos atributos dos dois objetos Data