不同的java版本,在使用的特性上会有所区别。比如java中的Scanner是之前版本中锁没有的,专门用来获取输入的数据。这里就不得不提到常用的字符串输入了,在Scanner类中有两种方法可以实现:next和nextLine。接下来我们就这两种获取字符串的方法分别带来详解。
1.next 方法
输入的有效字符后面带有空格,next() 会将空格作为结束符。因此,如果输入的字符串中间部分有空格,则使用next方法是无法得到完整的字符串的。
import java.util.Scanner; public class TestScanner1 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 从键盘接收数据 System.out.println("next方式接收:"); // 判断是否还有输入 if (scan.hasNext()) { // next方式接收字符串 String str1 = scan.next(); System.out.println("输入的数据为:" + str1); } } }
可以看到 java 字符串并未输出。
2.nextLine方法
nextLine() 则以Enter为结束符,也就是说 ,nextLine()方法返回的是输入回车之前的所有字符。
import java.util.Scanner; public class TestScanner2 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // nextLine方式接收字符串 System.out.println("nextLine方式接收:"); // 判断是否还有输入 if (scan.hasNextLine()) { // 从键盘接收数据 String str2 = scan.nextLine(); System.out.println("输入的数据为:" + str2); } } }
以上就是java中Scanner类获取字符串的方法,看完文章会发现,next获取的是部分字符串,而nextLine输出的是回车前的字符内容,大家要注意最后结果输出的情况。