2016-09-21 3 views
-2
String marital = (String) JOptionPane.showInputDialog("Are you a single or married joint filer?"); 
while ((marital.length() >= 6) && (marital.length() <= 7)) { 
    System.out.println("You are " + marital + " thank you."); 
    if (marital.length() > 7) { 
     break; 
    } 
} 

ich bin ziemlich neu in Java, also fragte ich mich, wie ich die While-Schleife vom Drucken mehr als eine Zeile stoppen konnte. Das Ziel ist, dass der Benutzer sagen, Single oder verheiratet, aber ich weiß nicht, wie es nur einmal druckenJAVA Intellij Codierung

+0

Tut mir leid, ich habe versucht zu bearbeiten – donortiz

+0

Ich bin ein wenig unsicher, was Ihre Schleife versucht zu tun, damit Sie das Problem, das Sie versuchen zu lösen, erklären möchten. Der Benutzer sollte nicht erraten müssen, was Sie erreichen möchten. Z.B. Ich versuche die 4. Frage in meiner Liste nur einmal auszudrucken. ... " – Dale

Antwort

0

Setzen Sie einfach break; nach dem Druck, einfach so, keine if oder irgendetwas. Jetzt haben Sie Ihre break innerhalb if, die Bedingung überprüft, die sicher scheitern wird, denn wenn es eine Möglichkeit gäbe, dass marital.length > 7 dann würde nicht einmal diese while-Schleife eingeben, da Sie sicherstellen, dass es Länge 7 oder niedriger ist. All dies Code seltsam tho ist, sind Sie wahrscheinlich alles tun zu trainieren/lernen, aber ich schlage vor, nur dies zu tun:

String marital = (String) JOptionPane.showInputDialog("Are you a single or married joint filer?"); 
if ((marital.length() == 6) || (marital.length() == 7)) { 
    System.ou.tprintln("You are " + marital + " thank you."); 
} 

Das wird prüfen, ob martital Länge 6 OR 7 (Sie hatte so etwas in Ihrem Code, ausgedrückt in einer verschlungenen Weise) und wenn ja, dann wird es Ihren Satz drucken.

+0

danke, es funktioniert! – donortiz