java - 使用扫描仪识别整数和字符串,如果输入了某个字符串,则停止用户输入
问题描述
尝试使用扫描仪识别整数和字符串,并在输入某个字符串时停止用户输入。
Scanner myObj = new Scanner(System.in);
System.out.println("Enter number of students");
int numberof = myObj.nextInt();
需要这样做,如果用户键入“结束”,扫描仪将不再接受用户输入。我不能把行 int numberof = myObj.nextInt(); 在循环或其他东西中并限制变量范围,因为我在我的其余代码中使用 numberof 的值。
解决方案
您可以使用 Scanner#next ,然后在需要时解析整数。我不建议直接使用 Scanner#nextInt。
Scanner sc = new Scanner(System.in);
do {
System.out.println("Enter number of students");
String next = sc.next();
if (next.equals("end")) break;
else {
try {
int num = Integer.parseInt(next);
} catch (NumberFormatException e) {
System.out.println("Please enter a valid input");
}
}
} while (true);
推荐阅读
- three.js - 使用 Three.js 在美国地图上放置图钉
- python-3.x - 如果它小于指定大小,如何填充 3d numpy 数组
- python - 'self' 作为 PyQt5 中的参数有什么不同
- excel - 执行循环时读取下一行
- javascript - 在地图(JS)中使用标识符(下划线)
- android - 如何从 android 源代码(aosp 镜像)构建 settings.apk 进行设置?
- css - 在 python 烧瓶项目中管理引导程序的最佳方法
- c - 如何在集群上运行 MPI 和 OpenMp 的混合代码
- hadoop - hadoop start namenode error root account is not found
- php - 使用 JSON_FORCE_OBJECT 参数时如何在 php json 编码函数中删除 JSON 对象 ID