ich habe die aufgabe:
Erstelle ein neues projekt mit 3 Klassen
a. Person (Name, Vorname)
b. Nachricht (Betreff, Inhalt)
c. Versand
Beim Aufruf der main()-methode aus Versand soll ein zu bestimmendes Memo von Person (Absender) an Person (Empfänger) versandt werden (Datenfelder: siehe oben). Beim Versand sollen auf dem Bildschirm angezeigt werden:
-Vorname und Name von Absender und Empfänger
-Betreff und Inhalt der Nachricht
Mögliche Erweiterung der Aufgabe: Fasse bereits versandte Nachrichten in einer Liste zusammen.
Wäre mein Ergebnis soweit richtig?
Klasse 1 (Person)
package Memo;
public class Person {
// Alle Variablen (Datenfelder)
public String vorname;
public String name;
public int personennummer;
// Konstruktur mit den beiden Parametern vorname und name
public Person(String dieser_vorname, String dieser_name, int diese_personennummer) {
// Variablen werden initialisiert
vorname = dieser_vorname;
name = dieser_name;
personennummer = diese_personennummer;
}
//Methode gibPerson mit Rückgabewert String
public String gibPerson() {
return vorname + " " + name + " " + personennummer + "\n";
}
}
Klasse 2 (Memo)
package Memo;
public class Memo {
// Alle Variablen (Datenfelder)
public String betreff;
public String inhalt;
// Konstruktur mit den beiden Parametern betreff und inhalt
public Memo(String dieser_betreff, String dieser_inhalt) {
// Variablen werden initialisiert
betreff = dieser_betreff;
inhalt = dieser_inhalt;
}
/**
* Methode gibMemo mit Rückgabewert String
*/
public String gibMemo() {
return "\nSUBJECT: " + betreff + "\n" + "BODY: " + "\n" + inhalt + "\n";
}
}
Klasse 3 (Versand)
package Memo;
public class Versand {
// Ale Variablen (Datenfelder)
// absender ist eine Instanz der Klasse Person
public Person absender;
// empfaenger ist auch eine Instanz der Klasse Person
public Person empfaenger;
public Person personennummer;
// Nachricht ist eine Instanz der Klasse memo
public Memo nachricht;
// Textausgabe ist vom Typ String (Instanz der vorgegebenen Klasse String)
public String textausgabe;
// Konstruktur mit sechs Parametern
public Versand(String absender_vorname, String absender_name, int absender_personennummer,
String empfaenger_vorname, String empfaenger_name, int empfaenger_personennummer, String betreff, String inhalt)
{
absender = new Person(absender_vorname, absender_name, absender_personennummer);
empfaenger = new Person(empfaenger_vorname, empfaenger_name, empfaenger_personennummer);
nachricht = new Memo(betreff, inhalt);
// Ausgabe auf dem Bildschirm in Variable textausgabe zusammenbauen
textausgabe = "\nNEUES MEMO:\n";
textausgabe += "Absender: ";
textausgabe += absender.gibPerson();
textausgabe += "\nEmpfänger: ";
textausgabe += empfaenger.gibPerson();
textausgabe += "\n" + nachricht.gibMemo() + "\n";
}
// Methode gibtextausgabe mit Rückgabewert String -> Nur für die MemoListe!
public String gibtextausgabe()
{
return textausgabe;
}
// Methode Ausgabe:
// Dies ist die 'normale Ausgabe'
public void Ausgabe()
{
System.out.println(textausgabe);
}
}
Klasse 4 (MemoListe)
package Memo;
import java.util.*;
public class MemoListe {
// Alle Variablen (Datenfelder)
public ArrayList NachrichtenListe;
public Versand nachricht;
// Konstruktor
public MemoListe() {
// Variablen werden initialisiert
NachrichtenListe = new ArrayList();
}
public void fuegeNachrichthinzu(String absender_vorname, String absender_name, int absender_personennummer,
String empfaenger_vorname, String empfaenger_name, int empfaenger_personennummer, String betreff, String inhalt) {
nachricht = new Versand(absender_vorname, absender_name, absender_personennummer, empfaenger_vorname, empfaenger_name,
empfaenger_personennummer, betreff, inhalt);
NachrichtenListe.add(nachricht.gibtextausgabe());
}
public void AusgabeListe() {
System.out.println("\n**********************************************************\n");
System.out.println("\n" + NachrichtenListe.size() + " Nachrichten\n");
System.out.println("\n**********************************************************\n");
for (int zahl = 0; zahl < NachrichtenListe.size(); zahl++) {
System.out.println(NachrichtenListe.get(zahl));
}
System.out.println("\n**********************************************************\n");
}
}
Klasse 5 (AutoMemoListe)
package Memo;
import java.util.*;
public class AutoMemoListe {
// Alle Variablen (Datenfelder)
// NachrichtenListe ist vom Typ ArrayList (Instanz der improtierten Klasse ArrayList)
public ArrayList NachrichtenListe;
// nachricht ist eine Instanz der Klasse Versand
public Versand nachricht;
// Lauter Strings generieren der automatischen Nachrichten
String absender_vorname, absender_name, empfaenger_vorname, empfaenger_name, betreff, inhalt;
// index zum generieren der automatischen Nachrichten
int index;
// Konstruktor
public AutoMemoListe() {
// Variablen werden initialisiert
NachrichtenListe = new ArrayList();
index = 1;
}
public void fuegeNachrichthinzu() {
absender_vorname = "vornameA" + index;
absender_name = "nameA" + index;
empfaenger_vorname = "vornameE" + index;
empfaenger_name = "nameE" + index;
betreff = "betreff" + index;
inhalt = "inhalt" + index;
nachricht = new Versand(absender_vorname, absender_name, empfaenger_vorname, empfaenger_name,
betreff, inhalt);
NachrichtenListe.add(nachricht.gibtextausgabe());
index++;
}
public void AusgabeListe() {
System.out.println("\n**********************************************************\n");
System.out.println("\n" + NachrichtenListe.size() + " Nachrichten\n");
System.out.println("\n**********************************************************\n");
for (int zahl = 0; zahl < NachrichtenListe.size(); zahl++) {
System.out.println(NachrichtenListe.get(zahl));
}
System.out.println("\n**********************************************************\n");
}
}
Vielen Dank im Voraus;)