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

时间:2019-10-29 20:35:02

标签: java

我正在编写一个包含do while循环的程序。我希望用户键入“退出” 以退出循环,但是我的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"));

    }

}

1 个答案:

答案 0 :(得分:0)

integer1块之外无法访问变量do { ... },因此不能在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");
    }
}