Aufgabe 1 ausgeführt.
This commit is contained in:
parent
15d62ca60e
commit
8f2bc5ab20
|
@ -0,0 +1,5 @@
|
|||
public interface BriefdruckStrategie {
|
||||
|
||||
String druckeBrief(Brief brief);
|
||||
|
||||
}
|
|
@ -4,6 +4,15 @@
|
|||
* @author tebe
|
||||
*/
|
||||
public class Briefdrucker {
|
||||
BriefdruckStrategie briefdruckStrategie;
|
||||
|
||||
Briefdrucker(BriefdruckStrategie briefdruckStrategie){
|
||||
this.briefdruckStrategie = briefdruckStrategie;
|
||||
}
|
||||
|
||||
void druckeBrief(Brief brief){
|
||||
System.out.println(briefdruckStrategie.druckeBrief(brief));
|
||||
}
|
||||
|
||||
// Ihr Code fuer den Briefdrucker
|
||||
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
|
||||
/**
|
||||
* Diese Klasse implementiert ein Briefprogramm.
|
||||
*
|
||||
|
@ -15,5 +19,17 @@ public class Briefprogramm {
|
|||
// Erzeugen Sie Inhalte und Adressen und drucken Sie
|
||||
// einen Brief sowie einen Serienbrief
|
||||
|
||||
Brief brief = new Brief(
|
||||
new Adresse("Roman", "Schenk",
|
||||
"Toggenburgstrasse", 31,
|
||||
8245, "Feuerthalen"),
|
||||
new Adresse("Vorname", "Nachname",
|
||||
"Strasse", 1,
|
||||
8222, "Ort"),
|
||||
new Inhalt(new GregorianCalendar(2021, 12, 23), "Titel", "Herr", "Beispieltext"));
|
||||
|
||||
BriefdruckStrategie briefdruckStrategie = new FensterBriefDruckStrategie();
|
||||
Briefdrucker briefdrucker = new Briefdrucker(briefdruckStrategie);
|
||||
briefdrucker.druckeBrief(brief);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
public class FensterBriefDruckStrategie extends StandartBriefDruckStrategie{
|
||||
|
||||
protected String druckeEmpfaenger(Adresse adresse){
|
||||
return druckeAdresseRechts(adresse);
|
||||
}
|
||||
|
||||
private String druckeAdresseRechts(Adresse adresse) {
|
||||
String output = "\t" + adresse.getVorname() + " " + adresse.getNachname() + "\n" +
|
||||
"\t" + adresse.getStrasse() + " " + adresse.getHausnummer() + "\n" +
|
||||
"\t" + adresse.getPlz() + " " + adresse.getOrt();
|
||||
return output;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
public class StandartBriefDruckStrategie implements BriefdruckStrategie{
|
||||
@Override
|
||||
public String druckeBrief(Brief brief) {
|
||||
String output = "";
|
||||
output += druckeAbsender(brief.getSender());
|
||||
output += "\n";
|
||||
output += druckeEmpfaenger(brief.getEmpfaenger());
|
||||
output += "\n";
|
||||
output += druckeInhalt(brief.getInhalt());
|
||||
return output;
|
||||
}
|
||||
|
||||
protected String druckeEmpfaenger(Adresse adresse){
|
||||
return druckeAdresseLinks(adresse);
|
||||
}
|
||||
|
||||
protected String druckeAbsender(Adresse adresse){
|
||||
return druckeAdresseLinks(adresse);
|
||||
}
|
||||
|
||||
private String druckeAdresseLinks(Adresse adresse){
|
||||
String output = adresse.getVorname() + " " + adresse.getNachname() + "\n" +
|
||||
adresse.getStrasse() + " " + adresse.getHausnummer() + "\n" +
|
||||
adresse.getPlz() + " " + adresse.getOrt();
|
||||
return output;
|
||||
}
|
||||
|
||||
private String druckeInhalt(Inhalt inhalt){
|
||||
String output = "Datum: " + String.format("%1$td.%1$tm.%1$tY", inhalt.getDatum()) + "\n" +
|
||||
inhalt.getTitel() + "\n" +
|
||||
inhalt.getAnrede() + "\n" +
|
||||
inhalt.getText();
|
||||
return output;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue