当用户输入单词 "exit" 时,如何使用 Java 中的扫描仪退出 do-while 循环?



我正在编写一个包含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方法,因为integer1int,而primitve类型没有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");
}
}

最新更新