输入样例:
3
75 3
53 2
59 2
问题:为什么调试看的第一行读取一个整数没问题,然后读取第二第三行,也没问题,就是读取最后一行来到最后一次for里的nextline就有问题了,一直等待用户输入,如果这时候我敲入一个回车就结束了程序,但就不符合我的代码逻辑了呀,为什么最后一行的读取这么奇怪呢
java的scanner问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 【相关推荐】
- 这篇博客: 算法4-中兴捧月杯热身赛1素数判断-热身赛2亲和串-热身赛3旅游路线-中的 Scanner 类的next和nextLine方法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
Scanner类的方法
方法名 说明 String next() 查找并返回此扫描仪的下一个完整令牌
不接收空格,在接收有效数据之前,所有的空格或tab键投被忽略,若有有效数据,则遇到这些键退出int nextInt() 将输入的下一个标记扫描为int String nextLine() 将此扫描仪推进到当前行并返回跳过的输入
可以接收空格或tab键,输入以enter键结束代码
// idea_algorithm package offer2.Test423; import java.util.Scanner; public class StringnextLineDemo { public static void main(String[] args) { method1(); } public static void method(){ Scanner input = new Scanner(System.in); String s1 = input.next(); String s2 = input.next(); System.out.println(s1); System.out.println(s2); System.out.println(s1 + s2); // 键盘输入ABC(空格)DEF(空格)(空格) // 输出结果是: // ABC // DEF // ABCDEF // 分析:没有接收空格,要是接收了空格,那么最后的输出应该会有空格,ABC 和 DEF 之间的空格被当做 两个字符串之间的划分,表示输入的是两个字符串 } public static void method1(){ Scanner input = new Scanner(System.in); String s1 = input.next(); String s2 = input.next(); String s3 = input.nextLine(); System.out.println(s1); System.out.println(s2); System.out.println(s3); System.out.println(s1 + s2); System.out.println(s1 + s2 + s3); // 键盘输入A(空格)B(空格)C(空格)D(空格) // 输出结果是: //A //B //(空格)C(空格)D(空格) //AB //AB(空格)C(空格)D(空格) // nextLine()方法可以接收空格或tab键。 } }
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- 这篇博客: 算法4-中兴捧月杯热身赛1素数判断-热身赛2亲和串-热身赛3旅游路线-中的 Scanner 类的next和nextLine方法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
悬赏问题
- ¥15 部分客户订单定位有误的问题
- ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
- ¥15 Linux权限管理相关操作(求解答)
- ¥15 Bug traq 数据包 大概什么价
- ¥15 在anaconda上pytorch和paddle paddle下载报错
- ¥25 自动填写QQ腾讯文档收集表
- ¥15 DbVisualizer Pro 12.0.7 sql commander光标错位 显示位置与实际不符
- ¥15 android 打包报错
- ¥15 关于stm32的问题
- ¥15 ncode振动疲劳分析中,noisefloor如何影响PSD函数?