next( ) 返回值是String
nextLine( ) 返回值是String
nextInt( ) 返回值是 int
重点是:
next( )的结束标志是 空格、tab、回车,但是它不会读取这些字符
nextLine( )的结束标志是回车,但是他会读取回车
看段代码:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
System.out.println("第一次输入:"+a);
String b = sc.nextLine();
System.out.println("第二次输入:"+b);
}
我们在键盘输入:str 回车 str2
猜猜结果是什么?
是这样吗?
第一次输入:str
第二次输入:str2
恭喜入坑
真正的答案是:
分析一下:
Are you ok?
勇士请继续:
next( )和nextInt( )是差不多的,无非是返回值不一样
继续看题:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
System.out.println("第一次输入:"+a);
String b = sc.nextLine();
System.out.println("第二次输入:"+b);
}
键盘输入:132 空格 hello 空格 world 回车
看分析:
结果:
最近刷到一道题,一起来看看
有这么一段代码:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(
sc.nextInt()
+
sc.nextInt()
+
sc.nextLine()
+
sc.nextLine()
+
sc.nextInt()
);
}
在键盘依次输入:5 回车 5 回车 5 回车 5 回车
结果是什么?
勇士,请解答
看下解析:
所以最后读取到的结果是:
5+5+"回车"+"5回车"+5
回车是无效字符,看成空串
在数字和字符串拼接式。数字相加在字符串之前的要先加数字,字符串之后的数字全部看成字符串
所以最终结果是:1055
完结撒花!