Como faço para mostraDados(), como pede na questão?

Fazer a classe Assunto:
 atributos: texto do assunto
 métodos: setTexto() para definir o texto do assunto e getTexto() para
retornar o assunto

Fazer a classe Mensagem:
 atributos: texto da mensagem
 métodos: addMensagem() para adicionar ao texto da mensagem que já
existe e getMensagem() para retornar o texto

Fazer uma classe EMail com as seguintes características:
 atributos: objetos das classes Assunto e Mensagem (por composição)
 métodos:
o setConteudoAssunto() para definir o conteúdo do assunto
o addTextoMensagem() para adicionar texto à mensagem.
o mostraDados() que mostra no console os dados do e-mail no
seguinte formato:
Assunto: xxxxx
Mensagem:
xxxxxxxxxxxxxxxxxxxx
Fazer uma classe principal que cria um EMail, preenche assunto e texto e
depois chama mostraDados() para mostrar os dados do e-mail.

public class Assunto {

	String text;
	
	void setText(String text) {
		this.text = text;
	}
	
	String getText() {
		return text;
	}


}
public class Mensagem {

	String textMensagem;

	public void addMensagem(String textMensagem) {
		this.textMensagem = textMensagem;
	}

	String getMensagem(){
		return textMensagem;
	}
}

public class Email {

protected Assunto assunto;
protected Mensagem mensagem;

public void setConteudoAssunto(Assunto assunto) {
	this.assunto = assunto;
}

public void addTextMensagem(Mensagem mensagem) {
	this.mensagem = mensagem;
}

}

public class ResultadoEmail {

	public static void main(String [] args) {
		
		Assunto assunto = new Assunto();
		assunto.setText("Alerta de atenção!!!!");
		
		Mensagem mensagem = new Mensagem();
		mensagem.addMensagem("\nO aluno José Carlos, ficou fazendo bullying com o colega de sala. Já foi avisado três vezes e dessa vez ele será suspenso! Grato, coordernação.");
		

		
		System.out.println("Assunto: " + assunto.getText());
		System.out.println("Mensagem: " + mensagem.getMensagem());
		
	
	}
}

Bom, eu fiz o código assim pois não conseguia fazer a parte do mostraDados() como pede na questão.

Pelo que entendi, basta criar o método mostraDados na classe EMail para executar um System.out.println montando a mensagem usando os dados das propriedades assunto e mensagem.

1 curtida

Tipo assim?

public void mostraDados() {
		System.out.println("Assunto: " + assunto);
		System.out.println("Mensagem: " + mensagem);
	}

Quase, mas para imprimir o texto do assunto (sendo que Assunto é uma classe), vc teria que chamar o getText() ou implementar o toString (na classe Assunto) retornando o texto.

1 curtida