Java代码在线编译器上工作但不在Eclipse中?

时间:2015-03-12 14:05:07

标签: java eclipse

我正在GCSE学习计算机科学,我遇到了一个问题。最初,由于AQA指南,我们的老师无法帮助我但我可以在论坛上等问。所以这就是问题所在:

class Price {
    public static void main(String args[])  {
        Scanner keyboard = new Scanner (System.in);
        int day;
        double price = 0.00;



    System.out.print("How many days would you like to reserve the game?:  ");
    day = keyboard.nextInt();

    if (day >= 4 && day <= 5) {
        price = 5.55;

        System.out.print("You have chosen to reserve the game for " + day + " days! ");

        System.out.println("Please pay £" + price + ". " + " Enjoy your game!");
        }

    if (day == 3) {
        price = 3.45;

        System.out.print("You have chosen to reserve the game for " + day + " days! ");

        System.out.println("Please pay £" + price + ". " + " Enjoy your game!");
        }

    if (day >= 1 && day <= 2) {
        price = 2.75;

        System.out.print("You have chosen to reserve the game for " + day + " days! ");

        System.out.println("Please pay £" + price + ". " + " Enjoy your game!");

    }
    if (day > 5 || day <= 0) {
        System.out.println("Invalid Number - Days of Reservation Are 1-5 Only. Please Try Again.");
    }

    keyboard.close();
}
}

我的问题是这个代码适用于在线编译器,例如www.browxy.com,不用担心,Eclipse会读取以下错误:

  

“线程中的异常”主“java.lang.Error:未解析的编译   问题:

     

扫描仪无法解析为

类型      

扫描仪无法解析为

类型      

在Price.main(Price.java:3)“

有没有人有解决方案?

谢谢:)

3 个答案:

答案 0 :(得分:3)

您必须在类定义之前为import类添加Scanner语句:

import java.util.Scanner;

很可能默认情况下会在在线IDE中导入java.util包中的类。

此外,Eclipse(实际上大多数其他IDE)都支持键盘快捷键,它会为您添加import语句。按 Ctrl + Shift + O 即可完成。

答案 1 :(得分:1)

你应该在java中使用import Scanner类来使编译器能够在运行时接受用户输入并在类声明之上添加以下行,问题将得到解决

import java.util.Scanner;

注意:如果compile time arguments版本中不存在args[]

,您也可以使用scanner,例如JDK

答案 2 :(得分:0)

java 1.5中存在

Scanner。 检查jdk是否是1.5之前的版本。 如果您的jdk版本是1.5或更高版本,则需要在文件顶部添加导入java.util.Scanner