2016-10-22 5 views
0

Ich lerne gerade Java-Skript und versuche neue Dinge, zum Beispiel möchte ich sehen, ob ich einen booleschen Ausdruck zum Ende setzen kann, wenn er eine Startnummer durch eine Endnummer erkennt.Ist es möglich, einen booleschen Ausdruck auf diese Weise zu verwenden?

Oder in anderen Worten, was ich will, ist 3 bis 8. Ich werde klar machen, ich benutze Netbeans IDE.

Innerhalb meiner letzten else if-Anweisung möchte ich, dass sie den fragenden Prozess beendet. Ich hoffe, dass es eine einfache Lösung ist, aber ich kann mir nichts vorstellen, was das bewerkstelligen würde, es sei denn, ich erstelle viel mehr, wenn es um Aussagen geht.

Scannereingang = neuer Scanner (System.in);

int[][] table; 

boolean stopasking = true; 



    while (stopasking = true){ 

    System.out.println("Let's make a magic Square! How big should it be? "); 
    int size = input.nextInt(); 


    if (size < 0) 
    { 
     System.out.println("That would violate the laws of mathematics!"); 
     System.out.println(""); 
    } 
    else if (size >= 9) 
    { 
     System.out.println("That's huge! Please enter a number less than 9."); 
     System.out.println(""); 
    } 
    else if (size <= 2) 
    { 
     System.out.println("That would violate the laws of mathematics!"); 
     System.out.println(""); 
    } 
    else if (size == 3) 
    { 
     stopasking = false; 
    } 


    } 
+0

Sie lernen nicht JavaScript, Sie lernen Java. Die beiden Sprachen haben sehr wenig gemein, abgesehen von dem Namen ... – assylias

+0

Entschuldigung, aber das ist sogar, was mein Professor aus dem Weg geht, um zu sagen, was wir vorhaben. –

+0

Lassen Sie mich neu formulieren: Ihr Code ist in Java geschrieben, nicht in JavaScript. – assylias

Antwort

1

Sie verwendet haben, die assignmnent Operator = Sie == statt

auch die Bedingung verwenden sollte size<=2 hält, wenn size<0 so können Sie eine if für beide

verwenden
while(stopasking){ 
    if (size <= 2) { 
     System.out.println("That would violate the laws of mathematics!\n"); 
    } else if (size >= 9){ 
     System.out.println("That's huge! Please enter a number less than 9.\n"); 
    } else if (size == 3){ 
     stopasking = false; 
    } 
} 

Sie die verwenden können, Boolescher Ausdruck auf diese Weise als Bedingung zum Verlassen einer Schleife. Manche würden sagen, es ist eine elegantere Lösung als break.

+1

Danke, ein kleines Missgeschick, an dem ich gerade gearbeitet habe. Ich habe es gerade ausgeführt und gesehen, dass es nicht aufhörte, als ich 3 betrat. –

+0

Verstanden, aber würde ich in der Lage sein, die ending-Anweisung nach einer ganzen Zahl von 3 bis 8 zu suchen, ohne so viele andere if-Anweisungen zu machen? –

+1

'while (stopasking == true)' sollte wirklich 'while (stopasking)' sein. – assylias

Verwandte Themen