在刚开始使用Scanner时,总是会遇到一些问题

比如:InputMismatchException——除了类型错误以外(如:应该输入整型输成字符串),还有这个错误:

public static void main(String[] args) {
            Scanner s = new Scanner(System.in);
            System.out.println("请输入:)");
            String a = s.next();
            System.out.println(a);
            System.out.println("请输入:)");
             int b = s.nextInt();
            System.out.println(b);
            System.out.println("请输入:)");
            String c = s.next();
            System.out.println(c);
}

只是在输入第一个字符串的时候加了空格,然后一回车,结果就异常了: 

但是如果输入的字符串是没有空格的话,结果就正确了。

所以,Scanner的next()只能接收不带空格的字符串。而nextLine()是可以接收带空格字符串的。

public static void main(String[] args) {
            Scanner s = new Scanner(System.in);
            System.out.println("请输入:)");
            String a = s.nextLine();
            System.out.println(a);
            System.out.println("请输入:)");
             int b = s.nextInt();
            System.out.println(b);
            System.out.println("请输入:)");
            String c = s.next();
            System.out.println(c);
     }

 运行结果: 

 

posted on 2019-08-15 15:37  残异*魔鬼  阅读(1648)  评论(0编辑  收藏  举报