关于java:无法将扫描程序解析为某种类型

关于java:无法将扫描程序解析为某种类型

Scanner cannot be resolved to a type

我刚刚安装了Ubuntu 8.04,我正在学习Java课程,所以我想到为什么在安装时不安装IDE。 所以我选择了我选择的IDE,Eclipse,我制作了一个非常简单的程序Hello World,以确保一切运行顺利。 当我使用Scanner进行用户输入时,我得到一个非常奇怪的错误:

我的代码:

1
2
3
4
5
6
7
8
9
10
import java.util.Scanner;
</p>

<p>
class test {
    public static void main (String [] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("hi");
    }
}

输出:

1
2
3
4
5
Exception in thread"main" java.lang.Error: Unresolved compilation problems:
    Scanner cannot be resolved to a type
    Scanner cannot be resolved to a type

   at test.main(test.java:5)

Scanner类是Java 5中的新增功能。我不知道Hardy的默认Java环境是什么,但它不是Sun的,因此可能已经过时了。

我建议安装sun-java6-jdk软件包以获取最新版本,然后告诉Eclipse使用它。


我知道,自问题发布以来已经有一段时间了。但是解决方案仍然可能对那里的任何人感兴趣。它实际上非常简单......

在Ubuntu下,您需要将java编译器"javac"设置为使用sun的jdk而不是任何其他替代方法。到目前为止发布的一些答案的不同之处在于我所说的是javac而不是java。为此,启动shell并执行以下操作:

  • 在命令行中输入root或sudo:
  • # update-alternatives --config javac

  • 找到指向sun的jdk的数字,输入此数字,然后按"ENTER"。

  • 你完成了!从现在开始,您可以在Ubuntu下享受java.util.Scanner。

  • System.out.println("Say thank you, Mr.");
    Scanner scanner = java.util.Scanner(System.in);
    String thanks = scanner.next();
    System.out.println("Your welcome.");


    也可能是因为你有JDK 1.5或更高版本,项目有一些特定的设置,告诉它编译为1.4。您可以通过Project >> Properties >> Java Compiler进行测试,并确保"Compiler Compliance Level"设置为1.5或更高。


    如果您在1.5之前使用Java版本,则java.util.Scanner不存在。

    您的Eclipse项目设置使用哪个版本的JDK?

    查看项目,属性,Java构建路径 - 查找"JRE系统库"条目,该条目旁边应该有一个版本号。


    推荐阅读