Java Eclipse中的未知源

时间:2016-03-07 19:08:07

标签: java eclipse java.util.scanner

我不断收到此错误消息,但我无法弄清楚发生了什么。我一直收到错误信息"线程中的异常" 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!

2 个答案:

答案 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();

一旦关闭,它就会完全丢失扫描仪。注释掉该行,代码可以正常工作。