java - 无法使用扫描仪进行输入
问题描述
我只是不能用扫描仪阅读。我读了很多其他的帖子,但我就是不明白这个世界上有什么问题。我尝试过使用缓冲区读取,但它也给出了错误。我就是想不通。我应该怎么办?
This is the error:
Start : 1
Exit : 2
=> 1
Enter your name
=>
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.base/java.util.Scanner.nextLine(Scanner.java:1651)
at pcGame/pkg.GameLogic.characterCreation(GameLogic.java:28)
at pcGame/pkg.GameLogic.main(GameLogic.java:41)
这是代码:
package pkg;
import java.util.Scanner;
public final class GameLogic {
public void gameMenu() {
System.out.print("Start : 1\nExit : 2\n=> ");
int opt = 1;
Scanner input = new Scanner(System.in);
opt = input.nextInt();
switch(opt) {
case 1:
input.close();
return;
case 2:
System.exit(0);
}
input.close();
}
public void characterCreation() {
Scanner input = new Scanner(System.in);
System.out.println("Enter your name\n=> ");
String name = input.nextLine();
System.out.println("Enter your \n=> ");
String story = input.nextLine();
//Player.initialize("name", "story"); //Initializes Player
input.close();
}
public static void main(String[] args) {
GameLogic game = new GameLogic();
game.gameMenu();
game.characterCreation();
while(true) {
//Game Happens
break;
}
}
}
解决方案
只是尝试删除input.close();
语句
推荐阅读
- javascript - 如何在 3D 立方体的顶部显示坐标值 three.js
- python - Pandas:获取最后一个、倒数第二个、倒数第二个月份的值
- c++ - Unix域套接字和写缓冲区溢出
- c# - 实现分页用户的更好方法
- extjs - 经典和现代的煎茶套餐
- github - 从 Marketplace 中“取消发布”GitHub Action 是如何工作的?可能吗?发布的版本安全吗?
- azure-devops - 如何为 Azure DevOps 代理设置一个不过期的令牌?
- sql - 如何计算选择查询中的百分比变化
- php - CodeIgniter 使用 Gmail SMTP 发送电子邮件
- php - 如何从两个相关表中收集数据