簡體   English   中英

Java-While循環不會退出

[英]Java - While loop will not exit

//無效的循環。 我一直按1,2、3、4或5,但不會退出循環。 該操作員似乎被分配了我輸入的值,但仍不會退出while循環。 我試圖用簡單的數學運算編寫一個基本的計算器,但這變成了一個非常煩人的問題。

import java.util.Scanner;
public class BasicCalculatorTwo {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        int operator;
        double fnum, snum, answer;
        operator = 0;

        System.out.println("Enter first number : ");
        fnum = scanner.nextDouble();
        System.out.println("Enter second number : ");
        snum = scanner.nextDouble();

        while(operator != 1 || operator != 2 || operator != 3 || operator != 4 || operator != 5 ){
            System.out.println();
            System.out.println(fnum + " ? " + snum + " = ");
            System.out.println("1 : Add");
            System.out.println("2 : Subtract");
            System.out.println("3 : Multiply");
            System.out.println("4 : Divide");
            System.out.println("5 : Modularize");
            operator = scanner.nextInt();
        }

        switch(operator){
            case 1:
                answer = fnum + snum;
                break;
            case 2:
                answer = fnum - snum;
                break;
            case 3:
                answer = fnum * snum;
                break;
            case 4:
                answer = fnum / snum;
                break;
            case 5:
                answer = fnum % snum;
                break;
            default:
                break;
            System.out.println(fnum + " ? " + snum + " = " + answer);
            scanner.close();
        }
    }
}

您循環條件是問題所在。

while (operator != 1 || operator != 2 || operator != 3 || operator != 4 || operator != 5)

它應該是

while (operator != 1 && operator != 2 && operator != 3 && operator != 4 && operator != 5)

基本上,您是說如果運算符為!= 1,則執行循環。 同樣,其他每個人。 如果要使用&&運算符代替|| 它會好得多。

確實,您要說的是運算符> 1 && <5,然后循環,否則中斷。

while(operator < 1 || operator > 5)
{
  DoPrintStuffHere();
}

從邏輯上考慮一下,您希望小於1或大於5的任何數字再次循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM