Ajuda com exercicio em java , não entendo a questão .-?

Galera sou iniciante em java e não sei o que tenho que fazer na questão 2-a to perdidão mesmo .-. , se alguém puder clarear minha mente agradeço , tenho de declarar um atributo com a classe Data ? como vou exibir esses valores ?

  1. criar a classe Data
  • a) atributos dia, mês e ano do tipo int e privados
  • b) métodos getters e setters para dia, mês e ano
  • c) método mostra para mostrar dia/mês/ano

  1. criar a classe Conta
  • a) atributo privado dataAber do tipo Data e que seja instanciado na criação (new Data())
  • b) métodos getters e setters para dataAber

  1. classe Teste
  • a) criar um objeto c1 do tipo Conta
  • b) colocar para o dia o valor 17, para o mês o valor 3

//Parte 1 do exercício

public class Data {
    
    private int dia , mes , ano ;
    
    public void setDia(int num){
    this.dia = num;
    }
    
    public void setMes(int num){
    this.mes = num;
    }
        
    public void setAno(int num){
    this.ano = num;
}

public int getDia(){
return dia; 
}  

public int getMes(){
return mes; 
} 
    
public int getAno(){
return ano; 
} 
        
public void mostra()     {
 System.out.println("A data é" + " " + getDia() + "/"  + getMes() + "/" + getAno() );   
   
    }
}

Para resolver a questão 2-a, você deve criar uma outra classe chamada Conta, ou seja, um outro arquivo .java, e instanciar um objeto do tipo Data dentro da sua nova classe Conta. O código vai ficar assim:

public class Conta{
    Data dataAber = new Data();
}

Agora para exibir os valores, você vai primeiro instanciar um objeto do tipo Conta na sua classe principal. Vai ficar assim:

public class Teste{
    public static void main(String[] args){
        Conta c1 = new Conta();
    }
}

E depois é só utilizar os métodos getters e setter para manipular os atributos.

public class Teste{
    public static void main(String[] args){
        Conta c1 = new Conta();
        c1.dataAber.setDia(26);
        c1.dataAber.getDia();
    }
}

Acredito eu que seja dessa forma, caso eu esteja equivocado peço desculpas pelo meu erro, afinal já faz um bom tempo que não utilizo o java.

Classe Data:

public class Data {

	private int dia;
	private int mes;
	private int ano;

	public int getDia() {
		return dia;
	}

	public void setDia(int dia) {
		this.dia = dia;
	}

	public int getMes() {
		return mes;
	}

	public void setMes(int mes) {
		this.mes = mes;
	}

	public int getAno() {
		return ano;
	}

	public void setAno(int ano) {
		this.ano = ano;
	}
	
	public void mostrar() {
		System.out.println(dia + "/" + mes + "/" + ano);
	}
	
}

Classe Conta

public class Conta {
	
	Data dataAber = new Data();

	public Data getDataAber() {
		return dataAber;
	}

	public void setDataAber(Data dataAber) {
		this.dataAber = dataAber;
	}
}

Classe Teste

public class Teste {

	public static void main(String[] args) {
		Conta c = new Conta();
		
		c.dataAber.setDia(17);
		c.dataAber.setMes(3);
		
		c.dataAber.mostrar();
		
		// ou
		
		Conta c1 = new Conta();
		Data d = new Data();
		
		d.setAno(2017);
		d.setDia(26);
		d.setMes(3);
		
		c1.setDataAber(d);
		
		c1.getDataAber().mostrar();
	}

}

Obrigado galera agora entendi , tava fazendo cada coisa que meu deus haha
vou fazer umas vezes sozinho pra treinar
obrigadão :slight_smile:

1 curtida