天天看点

java中next() 与 nextLine() 区别

next():

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

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

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

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

nextLine():

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

2、可以获得空白。

总结

就是说nextLine方法可以接受空格 而next方法遇到空格后面的就不接收了

实例

package zuochengyun;

import java.util.Scanner;

public class code04 {
    public static void main(String[] args) {
        System.out.println("请输入几个数并用逗号隔开:");
        Scanner sc = new Scanner(System.in);

        String str = sc.nextLine().toString();
        String[] arr  = str.split(" ");
        int[] b = new int[arr.length];
        for(int j = 0; j<b.length;j++) {
            b[j] = Integer.parseInt(arr[j]);
//            System.out.println(b[j]+" ");
            System.out.println(b[j]);
        }
    }
}      
java中next() 与 nextLine() 区别

然而用next方法,则只能接收到第一个空格前面的字符

package zuochengyun;

import java.util.Scanner;

public class code04 {
    public static void main(String[] args) {
        System.out.println("请输入几个数并用逗号隔开:");
        Scanner sc = new Scanner(System.in);

        String str = sc.next().toString();
        String[] arr  = str.split(" ");
        int[] b = new int[arr.length];
        for(int j = 0; j<b.length;j++) {
            b[j] = Integer.parseInt(arr[j]);
//            System.out.println(b[j]+" ");
            System.out.println(b[j]);
        }
    }
}      

新创建一个公众号 Rockey小何同学 想相互交流的同学可以关注一下哈! 感谢支持!