java - 爪哇 | InputMismatchException 后我无法使用 Scanner
问题描述
我仍然是 Java 的初学者,我想创建一个将字节数组转换为字符串的程序。数组的字节是用 Scanner 拾取的,但是,当我获得 InputMismatchException 时,它会创建一个无限循环,我无法插入新的字节......我该如何解决这个问题?这是代码:
System.out.println("Letters: ");
int letters = scan.nextInt();
System.out.println("Bytes: ");
byte b = 0;
byte[] ByteArray = new byte[letters];
int i = 0;
while(i != letters || i < 0) {
try {
b = scan.nextByte();
ByteArray[i] = b;
i++;
} catch (InputMismatchException e) {
System.out.println("Min = -127/ Max = 127");
}
System.out.println(i);
}
String Word = new String(ByteArray);
System.out.println(Word);
}
scan.close();
这是输出:
Min = -127/ Max = 127
0
Min = -127/ Max = 127
0
Min = -127/ Max = 127
0
...
我试图在 System.out.println("Min = -127/ Max = 127") 之后加上“break”,但没有成功。
提前致谢!
解决方案
推荐阅读
- python-3.x - (没有名为 sqlalchemy 的模块)但是为什么我已经安装了它
- azure-data-factory - 是否可以从映射数据流中更新管道参数值?
- mongodb - 数据库未根据 Challengeschema 的变化进行更新
- docker - LogStash 无法从许可证中检索许可证信息。响应代码“401”通过 URL“http://elasticsearch:9200/_xpack”联系 Elasticsearch
- java - spring-boot 1.5.4 spring 云流手动偏移提交行为,如果消费者(kube pod)重新启动
- python - 在分组数据框中按条件计数
- sql - 这条 SQL 语句正是我想要的,但为什么呢?
- javascript - JQuery is(':checked') 在表单上没有按预期工作
- c++ - VimbaCPP 内存泄漏
- spring-boot - 有什么方法可以避免错误 ClassNotFoundException (Spring Initializr)?