簡體   English   中英

當用戶輸入單詞“exit”時,如何使用 Java 中的 Scanner 退出 do-while 循環?

[英]How to exit a do-while loop using a Scanner in Java when the user enters the word “exit”?

我正在編寫一個包含 do while 循環的程序。 我希望用戶鍵入“exit”以退出我的循環,但我的 while 語句不起作用並產生錯誤。

錯誤在}while(.integer1;equals("exit"));

import java.util.*;
public class Integer {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        do {
            System.out.println("Enter integers or exit");
            int integer1 = sc.nextInt();
            int integer2 = sc.nextInt();
            if((integer1%integer2)==0)
                System.out.println(integer1+"divisible"+integer2);
            else
                System.out.println("Not divisible");

        }while(!integer1.equals("exit"));

    }

}

變量integer1do {... }塊之外不可訪問,因此不能在while語句的條件內使用它。 即使integer1可以訪問,你也不能使用equals方法,因為integer1是一個int並且原始類型沒有equals方法。 ...即使他們有, int也永遠不會等於String ,因此您需要更改程序的邏輯。

例如,您可以使用以下代碼:

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    String input = "";

    while (!(input = sc.next()).equals("exit")) {
        int i1 = Integer.parseInt(input);
        int i2 = sc.nextInt();

        if ((i1 % i2) == 0)
            System.out.println(i1 + "divisible" + i2);
        else
            System.out.println("Not divisible");
    }
}

暫無
暫無

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

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