今天在刷题的过程中遇到了一个问题,题目是让在输入框输入两个数字,用空格分隔开,并求两个数的和,本来是一个非常简单的问题,但是花费了很长时间,输入10 20 结果却输出的是10,测试几次都是如此,后来经过断点测试发现是输入出了问题,每次输入只能读取到第一个数字,之后查资料发现next()和nextLine()之间的区别。
以下是两者之间的比较:
1、next():
import java.util.Scanner;
public class text {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入:");
String str_1=sc.next();
System.out.println("用next()接收的结果是:"+str_1);
}
}
当然,结果如下:
2、nextLine():
import java.util.Scanner;
public class text {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入:");
String str_2=sc.nextLine();
System.out.println("用nextLine()接收的结果是:"+str_2);
}
}
next()与nextLine()总结
当 next() : 遇到了空格, 就不再录入数据了结束标记: 空格, tab键
当nextLine() : 可以将数据完整的接收过来 结束标记: 回车换行符