Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Könnt ihr mir bei einer Aufgabe helfen?
Bitte schaut euch die Screenshots an.
Wenn ich z.b Menüpunkt 3 aufrufe, speichert es die Adresse, macht aber keine Konsolenausgabe.
So lautet die Aufgabe:
Erweitern Sie das Programm Adressbuch aus dem zweiten Praktikum um ein Menü und die Funktion eine Adresse
in einer Textdatei abzuspeichern. Verwenden Sie hierfür die Methoden im Paket. Das Menü
umfasst dabei folgende Punkte
1: Adresse zu einem bestehenden Adressbuch hinzufügen
2: Adresse in eine gesonderte Datei schreiben
3: Adresse auf der Konsole ausgeben
9: Programm beenden
Verwenden sie hierzu die Methoden save2Disk(String filename, Person p) und append(String
filename, Person p) und die Methode String in() der Klasse InOut um Strings von der Konsole einzulesen.
Ein tieferes Verständnis der Klasse InOut ist nicht von nöten.
Hinweis: Das Programm muss nicht in einer Schleife ausgeführt werden.
Ziel: switch-case
Vielen Dank im Voraus, dass ihr euch die Zeit nehmt.
Das mit System.out... ist mir klar, aber wie kann ich die Adresse da reinschreiben.
Muss ich Variablen erstellen? System.out.println(vorname + nachname +...)
?
Gibt es bestimmt.
Aber das kann man nur sagen wenn du die Person-Klasse mal postest. Oder du schaust selber nach, ob die Attribute dort drin public sind.
Dann kannst du: String street = person.street (o.ä.) machen.
PS: Code bitte in [code=Java]MY CODE [/code] schreiben und nicht als Bild posten..
case 1:einAusgabe.save2Disk("Adressbuch",p);break;
case 2:einAusgabe.append("Adressbuch",p);break;
case 3:einAusgabe.in();break;
person.print;break; //Hier zeigt es mir einen Fehler an(bei System.out.println(person) auch
case 9: System.out.println("Ende");break;
default:System.out.println("Ende");break;
}
case 1:
einAusgabe.save2Disk("Adressbuch",p);
break;
case 2:
einAusgabe.append("Adressbuch",p);
break;
case 3:
einAusgabe.in();
break;
person.print; //Hier zeigt es mir einen Fehler an(bei System.out.println(person) an
break;
case 9:
System.out.println("Ende");
break;
default:
System.out.println("Ende");
break;
Dann würdest du a) sehen dass du 2 mal break geschrieben hast und b) die Klammern bei print() vergessen hast
@SuppressWarnings("resource")
Scanner eingabe1= new Scanner (System.in);
System.out.println("Menu:");
System.out.println("Gebe '1' ein, um die Adresse einem bestehenden Adressbuch hinzuzufügen");
System.out.println("Gebe '2' ein, um die Datei in eine gesonderte Datei zu schreiben");
System.out.println("Gebe '3' ein, um die Adresse auf der Konsole auszugeben");
System.out.println("Gebe '9' ein, um das Programm zu beenden");
int eingabe_=eingabe1.nextInt();
switch(eingabe_) {
case 1: einAusgabe.save2Disk("Adressbuch",p);break;
case 2: einAusgabe.append("Adressbuch",p);break;
case 3: einAusgabe.in();
p.print();break;
case 9: System.out.println("Ende");break;
default:System.out.println("Ende");break;
}
Das gibt die Konsole aus(nach meiner Eingabe "3" passiert leider nichts mehr):
Vorname:
ABC
Nachname:
DEF
Straße:
abd
Haus-Nr:
11
Postleitzahl:
12345
Ort:
abc
ABC DEF
abd 11
12345 abc
Menu:
Gebe '1' ein, um die Adresse einem bestehenden Adressbuch hinzuzufügen
Gebe '2' ein, um die Datei in eine gesonderte Datei zu schreiben
Gebe '3' ein, um die Adresse auf der Konsole auszugeben
Gebe '9' ein, um das Programm zu beenden
3
Du bist der Beste, Dankeschön.
Aber eine Frage habe ich noch bezüglich case 1 und 2.
Ich habe das Gefühl, dass beide das gleiche machen; also eine Textdatei (Adressbuch) wird erstellt und dort ist dann die Adresse. Aber sollte das nicht irgendwie anders sein?
Java:
@SuppressWarnings("resource")
Scanner eingabe1= new Scanner (System.in);
System.out.println("Menu:");
System.out.println("Gebe '1' ein, um die Adresse einem bestehenden Adressbuch hinzuzufügen");
System.out.println("Gebe '2' ein, um die Datei in eine gesonderte Datei zu schreiben");
System.out.println("Gebe '3' ein, um die Adresse auf der Konsole auszugeben");
System.out.println("Gebe '9' ein, um das Programm zu beenden");
int eingabe_=eingabe1.nextInt();
switch(eingabe_) {
case 1: einAusgabe.save2Disk("Adressbuch",p);break;
case 2: einAusgabe.append("Adressbuch",p);break;
case 3: p.print();break;
case 9: System.out.println("Ende");break;
default:System.out.println("Ende");break;
}
}
System.out.println("Gebe '1' ein, um die Adresse einem bestehenden Adressbuch hinzuzufügen"); System.out.println("Gebe '2' ein, um die Datei in eine gesonderte Datei zu schreiben");
Der Unterschied von 1 zu 2 ist hier beschrieben. Bei 1 hängst du was an eine bestehende Datei an, bei 2 schreibst du es in eine gesonderte Datei.
Was genau die Methoden intern machen kann ich dir nicht sagen.