首页 > 技术文章 > Scanner对象

Pireua 2021-07-12 19:52 原文

next():

1、一定要读取到有效字符后才可以结束输入。

2、对输入有效字符之间遇到的空白,next()方法会自动将其去掉。

3、只有输入有效字符后才将其后面输入的空白作为分隔符或结束符。

4、next()不能得到带有空格的字符串

 

 

nextLine():

1、一回车键为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符

2、可以获得空白

 

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

 

例子:

public class Demo01 {
    public static void main(String[] args) {

        //从键盘接收数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用nextline方式接收");
        //判断是否还有输入
        if (scanner.hasNextLine()){
            String str = scanner.nextLine();
            System.out.println("输出内容是:"+str);
        }
        scanner.close();
    }
}

 



键盘输入:我不是小白 拜拜
输出结果:我不是小白 拜拜
public class Demo01 {
    public static void main(String[] args) {

        //从键盘接收数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用nextline方式接收");
        //判断是否还有输入
        if (scanner.hasNextLine()){
            String str = scanner.next();
            System.out.println("输出内容是:"+str);
        }
        scanner.close();
    }
}

 

键盘输入:我不是小白 拜拜
输出结果:我不是小白

总结:next()方法无法获得带有空白符的字符串,且出现有效字符后,空白符后面的字符将全部自动去除

 

推荐阅读