Zum Inhalt springen

richtig oder falsch (bluej)


stimmts

Empfohlene Beiträge

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)


public class Person {

    // Alle Variablen (Datenfelder)

    public String vorname;

    public String name;


    // Konstruktur mit den beiden Parametern vorname und name

    public Person(String dieser_vorname, String dieser_name) {

        // Variablen werden initialisiert

        vorname = dieser_vorname;

        name = dieser_name;

    }


    //Methode gibPerson mit Rückgabewert String

    public String gibPerson() {

        return vorname + " " + name + "\n";

    }

}

Klasse 2 (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)

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;

    // 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,

    String empfaenger_vorname, String empfaenger_name, String betreff, String inhalt) {

        absender = new Person(absender_vorname, absender_name);

        empfaenger = new Person(empfaenger_vorname, empfaenger_name);

        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); 

    }

}

Vielen Dank im Voraus ;)

Bearbeitet von flashpixx
Link zu diesem Kommentar
Auf anderen Seiten teilen

@klotzkopp... wo soll ich fragen? ich versteh das forum nicht so hundertprozentig ;)

@Aliter erstmal danke ;) ja also wenn ich das programm ausführe klappt das eigentlich aber manchmal ist ja etwas förmlich in der falschen reihenfolge oder so ;)

ich hab außerdem vergessen diese liste zu machen ich hätte da einmal eine Klasse :

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,

    String empfaenger_vorname, String empfaenger_name, String betreff, String inhalt) {

        nachricht = new Versand(absender_vorname, absender_name, empfaenger_vorname, empfaenger_name, 

        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");

    }

}

und einmal eine Klasse wo das ganze automatisch gemacht wird.. 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");

    }

}

Bearbeitet von flashpixx
Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielleicht hier mal ein anderer Ansatz:


class Person {

     protected String name;

     protected String vorname;

     public Person(String name, String vorname) {

          this.name=name;this.vorname=vorname;

     }

     @Override

     public String toString() {  //Hat den Vorteil, dass du direkt System.out.println(myperson) machen kannst da standardmäßig die toString Methode benutzt wird

          return this.vorname + " " + this.nachname;

//Die Klasse Nachrichst sollte Empfänger von Absender kennen

class Nachricht {

     Person absender;

     Person empfaenger;

     String nachricht;

     public Nachricht(Person absender, Person empfaenger, String nachricht) {....}

     @Override

     public String toString() {

          return "Absender: " + absender.toString()+ "\nEmpfänger: " + empfaenger.toString+"\nNachricht:\n" + nachricht;

     }

}

//Versand Klasse

public class Versand {

     private LinkedList<Nachricht> nachrichten = new LinkedList<Nachricht>();

     private void printAll() {

          for( Object o : nachrichten.toArray()) {

               Nachricht n = (Nachricht) o;

               System.out.println(n);

          }

     }


     public static void main(String args[]) {

          Versand versand = new Versand();

          Person p1 =  new Person("Hans","Wurst");

          Person p2 = new Person("Maria",Wurst");

          Nachricht n1 = new Nachricht(p1,p2,"Hallo wie gehts es dir?");

          Nachricht n2 = new Nachricht(p2,p1,"Danke der Nachfrage. Mir geht es gut");

          versand.nachrichten.add(n1);

          versand.nachrichten.add(n2);

          versand.printAll();

     }

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...