Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

@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

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

     }

}

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.