Zum Inhalt springen

richtig oder falsch (bluej)


Empfohlene Beiträge

Geschrieben (bearbeitet)

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
Geschrieben (bearbeitet)

@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
Geschrieben

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

     }

}

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...