【问题标题】:Can't import java.util.Scanner无法导入 java.util.Scanner
【发布时间】:2016-06-24 20:45:24
【问题描述】:

我一直在尝试创建一个程序,让用户输入要购买的鸡蛋数量并计算价格。我曾尝试使用扫描仪方法输入整数,但我似乎无法导入扫描仪方法。

这是我所拥有的:

package eggsorder;
import java.util.Scanner;
import java.io.IOException;


public class EggsOrder {
static final double EGGS_DOZEN   = 7.25;
static final double EGGS_SINGLE = 0.75;
static final int DOZEN_NUMBER = 12;

public static void main(String[] args) throws IOException {
    System.out.println("Enter number of eggs for purchase: ");   
    Scanner enter = new Scanner(System.in);
    int eggs = enter.nextInt();
    System.out.println("You ordered " + eggs + "eggs.");
    System.out.println("That is " + (eggs / DOZEN_NUMBER) + " dozen eggs     at 7.25 per dozen and " + (eggs % DOZEN_NUMBER) + " additional eggs at 0.75 each");
    System.out.println("Which is a total price of "  + (((eggs % DOZEN_NUMBER) * EGGS_SINGLE) + ((eggs / DOZEN_NUMBER) * EGGS_DOZEN)));

这是我运行后得到的错误:

java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: Uncompilable source code - cannot find symbol
  symbol:   class Scanner
  location: class java.util
at eggsorder.EggsOrder.<clinit>(EggsOrder.java:7)

代码在没有扫描器方法的情况下工作,但需要使用它。

我尝试过使用 java.util 和其他各种变体,但无济于事。

另外,我使用的是最新版本的 NetBeans 和 java

【问题讨论】:

  • 你运行java程序的工具是什么? netbeans 还是 eclipse?
  • 您的源代码中的其他地方是否有错误?导入语句import java.util.Scanner 是否给你报错?
  • 手动运行清理或清除所有缓存文件可能会有所帮助 - 特别是如果您的代码从命令行编译得很好(您尝试过吗?)

标签: java methods import java.util.scanner


【解决方案1】:

我猜您使用的 IDE(如 Netbeans 或 eclipse)允许您运行 code,即使某些 classes 不是 compilable。在应用程序运行期间,如果您访问此class 将导致此异常。

解决方案:- 只需清理您的项目并再次构建并运行。

【讨论】:

  • 这解决了它似乎完全制作了一个新项目并复制代码解决了这个问题。似乎将 .java 文件保存到不同的文件夹以及源文件夹中会产生扫描仪错误。
【解决方案2】:

确保您已在系统环境变量中配置了 PATH、CLASSPATH 和 JAVA_HOME 变量。
1) 它可能指的是 java 的旧版本,然后是 1.5

2) 可能没有添加 PATH、CLASSPATH、 JAVA_HOME 变量在那里。

顺便说一句,您的代码在我的 Eclipse 中运行良好。

【讨论】:

    【解决方案3】:

    尝试在 Build -> Compiling 中取消选中“Compile on save”设置。

    来源:http://forums.netbeans.org/post-45324.html

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    • 哦,对不起!我会记住这一点。谢谢!
    【解决方案4】:

    你可以试试这个

    java.util.Scanner enter = new  java.util.Scanner(System.in);
    

    我测试了您的代码,它似乎在我这边正确导入。也许你的 IDE 有问题尝试重置它

    【讨论】:

    • 即使在添加后仍然显示找不到扫描仪符号。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 2018-08-15
    • 2023-04-07
    • 2017-07-17
    • 2014-01-17
    • 2021-11-20
    • 2017-01-13
    相关资源
    最近更新 更多