当用户输入单词“while”时,如何使用Java中的扫描器退出do-while循环;退出;?

当用户输入单词“while”时,如何使用Java中的扫描器退出do-while循环;退出;?,java,Java,我正在编写一个包含do while循环的程序。我希望用户键入“exit”以退出我的循环,但我的while语句不起作用并生成错误 当(!integer1.equals(“exit”) 变量integer1在do{…}块之外不可访问,因此不能在while语句的条件内使用它。即使可以访问integer1,也不能使用equals方法,因为integer1是一个int方法,而primitve类型没有equals方法。。。即使有,int也永远不会等于字符串,所以您需要更改程序的逻辑 例如,您可以使用以下代码

我正在编写一个包含do while循环的程序。我希望用户键入“exit”以退出我的循环,但我的while语句不起作用并生成错误

当(!integer1.equals(“exit”)


变量
integer1
do{…}
块之外不可访问,因此不能在
while
语句的条件内使用它。即使可以访问
integer1
,也不能使用
equals
方法,因为
integer1
是一个
int
方法,而primitve类型没有
equals
方法。。。即使有,
int
也永远不会等于
字符串,所以您需要更改程序的逻辑

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

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");
    }
}

整数1
是一个整数。整数不能等于
“退出”
<代码>“退出”
不是一个数字。如果用户在尝试读取int时键入
exit
,程序将出错。应该会有一条错误消息,告诉您问题所在:这将有助于回答问题
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");
    }
}