我不断收到此错误消息,但我无法弄清楚发生了什么。我一直收到错误信息"线程中的异常" main" java.util.NoSuchElementException"然后说我的扫描仪有一个未知来源。
任何想法是怎么回事?
import java.util.Scanner;
public class Practice {
public static void main(String[] args) {
System.out.println("Enter a String");
Scanner input = new Scanner(System.in);
String hex = input.nextLine();
StringBuilder output = new StringBuilder();
while (!input.equals("done")){
for (int i = 0; i < hex.length(); i+=2) {
String str = hex.substring(i, i+2);
output.append((char)Integer.parseInt(str, 16));
}
}
System.out.println(output);
}
}
The result I want to get:
Enter a string
Input:25
Output:%
Enter a string
Input:done
program terminated!
答案 0 :(得分:1)
当您在close
上致电Scanner
时,它还会尝试关闭其正在阅读的输入。因此,在关闭第一台扫描仪后,System.in
也会关闭,您无法从中读取任何其他内容。
只需重复使用相同的Scanner
,而不是创建新的。{/ p>
Scanner scanner = new Scanner(System.in);
diameter = scanner.nextDouble();
radius = diameter / 2;
System.out.println("What is the price of the pizza?");
cost = scanner.nextDouble();
scanner.close();
答案 1 :(得分:0)
我编译了这个并运行它。这是你的问题:
size.close();
一旦关闭,它就会完全丢失扫描仪。注释掉该行,代码可以正常工作。