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
|
* @author tebe
|
||||||
*/
|
*/
|
||||||
public class Briefdrucker {
|
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
|
// 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.
|
* Diese Klasse implementiert ein Briefprogramm.
|
||||||
*
|
*
|
||||||
|
@ -14,6 +18,18 @@ public class Briefprogramm {
|
||||||
// Ihr Code fuer das Briefprogramm:
|
// Ihr Code fuer das Briefprogramm:
|
||||||
// Erzeugen Sie Inhalte und Adressen und drucken Sie
|
// Erzeugen Sie Inhalte und Adressen und drucken Sie
|
||||||
// einen Brief sowie einen Serienbrief
|
// 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