我正在尝试创建一个程序,在该程序中,用户可以使用扫描仪将值输入到数组中。
但是,当程序要求学生的近亲时,它不会让用户输入任何内容而直接结束程序。
下面是我完成的代码:
if(index!=-1)
{
Function.print("Enter full name: ");
stdName = input.nextLine();
Function.print("Enter student no.: ");
stdNo = input.nextLine();
Function.print("Enter age: ");
stdAge = input.nextInt();
Function.print("Enter next of kin: ");
stdKin = input.nextLine();
Student newStd = new Student(stdName, stdNo, stdAge, stdKin);
stdDetails[index] = newStd;
}
我试过使用next(); 但只会使用用户输入的第一个单词,这不是我想要的。反正有解决这个问题的方法吗?
当您按Enter键(换行符)时,会出现问题\n
。nextInt()
仅使用整数,但跳过换行符\n
。要解决此问题,您可能需要input.nextLine()
在阅读后添加其他内容int
,这可能会消耗\n
。
Function.print("Enter age: ");
stdAge = input.nextInt();
input.nextLine();.
// rest of the code
我有两个do-while循环用于进行自定义输入验证。问题是它会自动进入下一个do while循环。正确插入名称后,我必须放置一个新的下一行():name=scanner。nextLine() 我知道当光标停留在那里时,nextLine()会出现“小故障”,您必须调用nextLine()才能继续。资料来源:https://www.geeksforgeeks.org/why-is-scanner-sk
一段时间以来,我一直在做一个作为拼字字典的编程作业。该程序接受用户的输入,并输出一个包含单词列表的文件,这取决于用户从菜单中请求的内容。我遇到的问题与Scanner.nextLine()有关。 我不是很清楚为什么,但由于某种原因,有时我必须按一次enter键,然后我的代码才会接受我的输入并将其存储为变量。本质上,我最终输入了两次输入。我尝试在代码周围插入Scanner.nextLine()以“占用
问题内容: 我读了API的Java,因为我对之间的差异问题和。在API中,它表示: “使该扫描仪前进到当前行之后,并返回跳过的输入。此方法返回当前行的其余部分,但不包括末尾的任何行分隔符。该位置设置为下一行的开始。” 足够容易…跳过当前行,然后返回刚刚跳过的行。但是对于,它说: “将输入的下一个标记扫描为双精度。如果无法将下一个标记转换为有效的双精度值,则此方法将引发InputMismatchEx
大家好,我三天前开始使用Java,我正在做一个小的银行账户项目,向用户询问他们的姓名和余额,并根据输入打印出一些消息。我的问题始于尝试验证用户名是否正确。不管怎样这是密码 //代码启动包com。首领 导入java.util.扫描仪; 公共课主课{ } 程序在要求用户输入是或否后终止,但我认为它在我第一次尝试时就起作用了。所以我不能输入那个字符串 此外,我在使用verifyName的输入来运行whi
本文向大家介绍Java Scanner类用法及nextLine()产生的换行符问题实例分析,包括了Java Scanner类用法及nextLine()产生的换行符问题实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java Scanner类用法及nextLine()产生的换行符问题。分享给大家供大家参考,具体如下: 分析理解:Scanner sc = new Scanner(Sys
在Java方面,我是一个业余爱好者,所以请原谅我的问题,如果它看起来很愚蠢:-P我有以下代码,旨在计算文件中的行数: 所以它很好,但我想将扫描仪重新用于其他目的,但nextLine已移动到文件的最后一行,我想将其重置回第一行。 (取而代之的是,我不得不使用另一台扫描仪来实现另一个目的,而在我看来,这似乎没有它应有的优雅。) 我肯定肯定有一种扫描仪方法可以将计数器重置为零? 谢谢 CJ