扫描仪输入,没有任何反应

时间:2018-01-28 22:38:02

标签: java while-loop java.util.scanner

    import java.util.Scanner;

    public class Pollo {
    public static void main(String[] args) {
        Scanner carne = new Scanner(System.in);
        System.out.println("Type numbers:");
        int Numero = Integer.parseInt(carne.nextLine());
        while (Numero != -1) {

            if (Numero == -1) {
                System.out.println("Thank you and see you later!");
                break;
            }
        }
    }
}

我的问题是,如果我键入一个数字(或更多),然后输入-1,则不会发生任何事情 如果第一个数字为-1,则不显示任何消息,并且该过程以退出代码0结束。

可能出现什么问题?

1 个答案:

答案 0 :(得分:1)

  

键入一个数字(或更多),然后键入-1,没有任何反应

你永远不会再次提示输入。 while循环是无限的,您的额外输入不会被处理。

  

如果第一个数字是-1,则不显示任何消息,并且该过程以退出代码0结束。

永远不会输入while循环,程序退出

也许你应该试试这个

    System.out.println("Type numbers:");
    int Numero = Integer.parseInt(carne.nextLine());
    while (Numero != -1) {
        System.out.println("Type numbers:");
        Numero = Integer.parseInt(carne.nextLine());
        if (Numero == -1) {

甚至

int numero;
do {
     System.out.println("Type numbers:");
     numero = Integer.parseInt(carne.nextLine());
} while (numero != -1);
System.out.println('Thank you");