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.
habe ein kleines Prob mit dem folgenden Programm..
Und zwar habe ich vor, zu prüfen ob die eingabe ein "j" oder ein "n",
falls das nicht der fall ist, soll die schleife wiederholt werden bis ein j oder n eingegeben wurde.
Mit meinen bisherigen Wissen hab ich versucht das mit ner If-else Auswahl, 2 endlosschleifen und nem break umzusetzen, aber irgendwie beginnt die abfrage nach ner falschen eingabe nicht von vorne...
hier mal auszug ausm dem Code, vieleicht seht ihr ja die (Denk)fehler...
..........
out:
Code:
for(int z=1; z>0;) {
eing = input.readLine();
if (eing.equals("j")){
System.out.println("A D R E S S E N A N Z E I G E N");
for(int i=0; i < eingabe; i++) {
System.out.println("Name:"+name[i]+"\t Vorname:"+vorname[i]"\tTelefonnummer:"+telefon[i]);
}
}
else if (eing.equals("n"))
System.out.println("Adressen Nicht Anzeigen");
else { System.out.println("Das war keine gueltige eingabe. Bitter wiederhohlen");
while(c>0) {
break out;
}
}
Natürlich bin ich auch für jeden alternativen Vorschlag dankbar !
Grüße,
Ben
EDIT: hab mal code tag eingefügt und das ganze übersichtlich dargestellt
Kurzer Hinweis: Bitte für Source Codes den Code Befehl vom Forum nutzen.
Dann kann man es besser lesen.
Also ich würde es wie folgt schreiben, wenn ich deinen Source zu grunde lege:
Code:
out:
for(int z=1; z>0; z++)
{
eing = input.readLine();
if (eing.equalsIgnoreCase("j"))
{
System.out.println("A D R E S S E N A N Z E I G E N");
for(int i=0; i < eingabe; i++)
{
System.out.println("Name: "+name[i]+"\t Vorname: "+vorname[i]"\tTelefonnummer: "+telefon[i]);
}
}
else if (eing.equalsIgnoreCase("n"))
{
System.out.println("Adressen nicht anzeigen");
}
else
{
System.out.println("Das war keine gueltige Eingabe. Bitter wiederholen:");
}
while(c>0)
{
break out;
}
}
Ich weiss jetzt zwar nicht, woher die Variablen c und eingabe kommen, und warum ein break out; nicht bei n und j ausgeführt wird, aber so müsste das Ding da oben laufen.
Vielen dank für die schnelle Antwort!
Ich habs auch grade hin bekommen indem ich die letzte while-schleife einfach entfernt habe...
wenns jemanden interressiert und um den "code befehl" zu testen... =)
Code:
System.out.println("Vielen Dank für ihre Eingabe. Moechten sie die Adressen nun anzeigen? (J)a / (N)ein ?");
for(int z=1; z>0;){
eing = input.readLine();
if (eing.equals("j"))
{
System.out.println("______A D R E S S E N A N Z E I G E N______");
for(int i=0; i < eingabe; i++) {
System.out.println("Name:"+name[i]+"\t Vorname:"+vorname[i]+"\t Telefonnummer:"+telefon[i]); }
return;
}
else if (eing.equals("n")) {
System.out.println("Adressen Nicht Anzeigen");
return; }
else System.out.println("Das war keine gueltige Eingabe. Bitte wiederhohlen (J)a oder (N)ein");
}
}
}
Die Variablen i und eingabe hatte ich vorhin bereits als public deklariert...
bei n und j sollte keine brakes sein da das Programm nach eingabe von j die adressen anzeigt und bei n einfach beendet.
Einen kleinen Hinweis noch:
Java nimmt Groß-Kleinschreibung genau.
Von daher empfehle ich if (eing.equals("j")) auszutauschen mit
if (eing.equalsIgnoreCase("j")), damit man sowohl j als auch J eintippen kann.
Das gleiche auch bei dem n.
mal ne frage : Geht die while schleife nicht auch irgendwie :
Code:
while(!eing="j" || !eing="n")
anweisungen....
Heißt doch eigentlich , falls eing nicht j und nicht n ist führt er die anweisung aus. Wenn man dort nun die Tastatureingabe erwartet wird doch so lange die Tastatureingabe erscheinen bis es j oder n ist, weil er dann aus der schleife springt. Sagt mir das ich recht habe
mal ne frage : Geht die while schleife nicht auch irgendwie :
Code:
while(!eing="j" || !eing="n")
anweisungen....
Heißt doch eigentlich , falls eing nicht j und nicht n ist führt er die anweisung aus. Wenn man dort nun die Tastatureingabe erwartet wird doch so lange die Tastatureingabe erscheinen bis es j oder n ist, weil er dann aus der schleife springt. Sagt mir das ich recht habe