日期:2014-05-20  浏览次数:20665 次

请教一个关于scanner的问题
比如 一段代码 ,如下 
Java code

        System.out.println("Please input a number");
        Scanner scan =new Scanner(System.in);
        while(scan.nextInt()!=1){
                System.out.println("Please input a number correctly.");    
                             }
        System.out.println("Correct!");



在我输入的内容不为1的时候 我仍然可以在控制台中继续输入,直到我输入的内容是1然后打印 Correct!。
我想请问大侠的是 Scanner scan =new Scanner(System.in); 在java底层中是如何实现当我输入不对的时候,控制台始终可以让我继续输入内容的,而当我输入正确时,控制台却不可以再输入了?

------解决方案--------------------
scan.nextInt() 就是在控制台上输入的,,,,,然后再跟1比较
------解决方案--------------------
.....那是因为你在外面加了个while循环..输入!=1。执行循环体.有问题么...