java nextline next_java中nextLine()与next()的区别

java中的next()和nextLine()还是有很大区别的。

next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。完整标记的前后是与分隔模式匹配的输入信息所以next()不能得到带空格的字符串,儿nextLine()是遇到回车是才结束,所以可以得到带空格的字符串

在输入一个int类型的数字之后,如果后边采用nextLine的话,最后打印结果发现会少一个字符,原因是在你使用nextInt的时候后边有一个换行符,没有接受,前边的int变量只是接受了你输入的数值,所以在你继续输入nextLine之后,会自动读取还未读取的换行,所以会导致后边的结果有一列为空,所以此时你需要多输入一个NextLine把未接受的换行符接收到,例如,以下代码:

package情书;importjava.util.HashMap;importjava.util.Map;importjava.util.Scanner;importjava.util.Vector;public classMain {public static voidmain(String[] args) {//TODO Auto-generated method stub

Scanner cin = newScanner(System.in);int n =cin.nextInt();

cin.nextLine();

String a[]= newString[n];

String s=cin.nextLine();for(int i=0;i

a[i]=cin.nextLine();

}

System.out.println(s);for(int i=0;i

System.out.println(a[i]);

}

}

}

运行结果如下:

ac228a24574c7808647a36aaf4e1ffa7.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值