众所周知,在Java中输入字符串有两种方法,就是next()和nextLine(),今天研究了一下其中的区别。
首先,nextLine()的输入是碰到回车就终止输入,而next()方法是碰到空格,回车,Tab键都会被视为终止符。
所以next()不会得到带空格的字符串,而nextLine()可以得到带空格的字符串。
例如:
Scanner sc=new Scanner(System.in);System.out.println("请添加名称");String flname=sc.next();
如果输入的是abc cda,结果是:
abc
Scanner sc=new Scanner(System.in);System.out.println("请添加名称");String flname=sc.nextLine();
如果输入的是abc cda,结果是:
abc cda
- 如果在next()方法后紧跟nextLine()方法,nextLine()方法会吃掉next()的回车符,造成第二个字符串接受了回车符,所以通常在next()等方法后加上一个nextLine()方法来吞掉回车符,如next(),nextInt(),nextFloat(),nextDouble()等