java:next()和nextLine()

啥都不说,我们先上代码和图:
代码1:

package demo;

import java.util.Scanner;

public class TextNext {
	public static void main(String[] args) {
		Scanner input = new Scanner(System .in);
		System.out.println("请输入str1:");
		String str1 = input.next();
		System.out.println("请输入str2:");
		String str2 = input.nextLine();
		System.out.println("str1:" + str1);
		System.out.println("str2:" + str2);
	}
}

输入空格再按Enter
在这里插入图片描述
字符之间有空格
在这里插入图片描述
输入字符后直接回车
在这里插入图片描述
代码2:

package demo;

import java.util.Scanner;

public class TextNext {
	public static void main(String[] args) {
		Scanner input = new Scanner(System .in);
		System.out.println("请输入str1:");
		String str1 = input.nextLine();
		System.out.println("请输入str2:");
		String str2 = input.nextLine();
		System.out.println("str1:" + str1);
		System.out.println("str2:" + str2);
	}
}

先输入空格,字符之间加空格
在这里插入图片描述
输入字符后回车
在这里插入图片描述
直接回车
在这里插入图片描述
综合上面代码的运行结果我们总结出一下结论:
1.使用next()从键盘接收字符时,如果在此之前输入空格、Enter键、Tabd键时会被省略掉,即只next()读取到有效内容时才会进行输入;
2.next()在读取到有效字符后会把之后录入的空格键、Enter键、Tab键视为分隔符或者结束符,所以next()不能接收到带有空格的字符串;
3.nextLine()的结束符只是Enter键,使用nextLine()可以得到带有空格的字符串;
4.这两种方法连用时要注意:使用next()和nextLine()时,可能会出现代码1中不能给str2录入值的情况,原因是nextLine()自动读取了next()中Tab键、空格键、Enter键后面的内容,而nextLine()是可以接收空格的,所以会出现不能从键盘键入str2的情况,解决的方法是在next()的后面接着使用nextLine().

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值