[英]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"));
}
}
變量integer1
在do {... }
塊之外不可訪問,因此不能在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.