天天看点

java中next()、nextInt()、nextLine()区别

Scanner

 使用分隔符模式将其输入分解为标记,然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。默认情况下该分隔符模式与空白匹配。即

public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        List list = new ArrayList();
        System.out.println("使用nextInt()方法,并且输入为:");
        for (int i = 0; i < 5; i++) {
            list.add(in.nextInt());
        }
        System.out.print("输出为:");
        System.out.println(list);
    }
      

  输出如下:

java中next()、nextInt()、nextLine()区别

即当输入数字中间为空格时,默认空格为分割符将数字分割开来

 可通过如下两个方法更改分割符:

java中next()、nextInt()、nextLine()区别
public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        in.useDelimiter(",");
        List list = new ArrayList();
        System.out.println("使用nextInt()方法,并且输入为:");
        for (int i = 0; i < 5; i++) {
            list.add(in.nextInt());
        }
        System.out.print("输出为:");
        System.out.println(list);
    }
      

  输出为:

java中next()、nextInt()、nextLine()区别

此使输入数字之间的分隔符为",",若继续用空格则报错。

 nextInt():读取int类型的值,取值后,并不换行

public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("输入:");
        int num = in.nextInt();
        String str = in.nextLine();
        System.out.println("输出:");
        System.out.println(num);
        System.out.println(str);
    }
      

  

java中next()、nextInt()、nextLine()区别

nextInt()读取值后,并没有读取“\n",因此没有换行,nextLine()读取"\n"并换行输出

next():查找扫描器中的下一个标记

public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("输入:");
        String num = in.next();
        String str = in.nextLine();
        System.out.println("输出:");
        System.out.println(num);
        System.out.println(str);
    }
      
java中next()、nextInt()、nextLine()区别

与nextInt()类似,不自动换行

nextLine():读取内容并自动换行