java - Printf 无法正常工作,不断重复下一行
问题描述
这是我的问题的源代码。
https://pastebin.com/MEwtrxgU .. 在System.out.printf("Enter Birthday in Month/Day/Year: "); bday[z] = console.next();
i 行中无法输入生日,因为下一行代码不断插入。
if (choice.equals("s")){
System.out.println("Enter Login Details");
System.out.printf("Enter Username: ");
uname[z] = console.next();
System.out.printf("Enter Password: ");
pword[z] = console.next();
System.out.printf("Enter your Full Name: ");
name[z] = console.next();
System.out.printf("Enter Birthday in Month/Day/Year: ");
bday[z] = console.next();
System.out.printf("Enter Grade for Programming (2 Units): ");
subjects[z][0] = consoleDouble.nextDouble();
System.out.printf("Enter Grade for Computing (3 Units): ");
subjects[z][1] = consoleDouble.nextDouble();
System.out.printf("Enter Grade for UTS (3 Units): ");
subjects[z][2] = consoleDouble.nextDouble();
System.out.printf("Enter Grade for STS (3 Units): ");
subjects[z][3] = consoleDouble.nextDouble();
System.out.printf("Enter Grade for PE (2 Units): ");
subjects[z][4] = consoleDouble.nextDouble();
z++;
}
输出
解决方案
您在看到错误的行之前输入的问题。如果你想读几个单词,你也必须放几个console.next()
。官方文件说:
Scanner 使用分隔符模式将其输入分解为标记,默认情况下匹配空格。
方法 next() 从这个扫描器中查找并返回下一个完整的令牌。一个完整的标记前后是匹配分隔符模式的输入。此方法可能会在等待输入扫描时阻塞,即使先前调用 hasNext() 返回 true。
希望能帮助到你。您可以在 oracle docs 网站上查看更多信息。
推荐阅读
- android - 如何观察发出回调请求的 ViewModel
- javascript - 键盘事件未按角度分派 Enter 键事件
- typescript - 递归/层次变换
- sql - 如何在Node.js中获取两个表数据,其中对象位于另一个对象中
- amazon-web-services - Dynamo AWS 表不允许我取消选中 DynamoDB JSON 以查看纯 JSON 中的对象
- azure - Azure 应用服务计划 - 分钟/天是什么意思?
- jquery - 捕捉到可滚动网站内容的“不可滚动”100vh 部分
- mongodb - 无法通过 mongoose 连接到 docker 上的 mongodb
- php - 如何根据不包含搜索词的 div 淡出动态生成的标题?
- python - 将 Flask 应用程序连接到 Websocket 服务器