扫描仪无法解析为某种类型

时间:2020-03-05 18:57:48  来源:igfitidea点击:

我刚刚安装了Ubuntu 8.04,并且正在学习Java课程,所以我想出了为什么在安装IDE时不安装IDE。因此,我选择了自己的IDE(Eclipse),并编写了一个非常简单的程序Hello World,以确保一切正常运行。当我使用Scanner进行用户输入时,出现一个非常奇怪的错误:

我的代码:

import java.util.Scanner;

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

输出:

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的默认Java环境,因此可能已过时。

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

回答

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

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

看一下Project,Properties,Java Build Path-查找" JRE System Library"条目,该条目旁边应有一个版本号。

回答

也可能是,尽管我们拥有JDK 1.5或者更高版本,但是该项目具有一些特定的设置,可以将其编译为1.4. 我们可以通过项目>>属性>> Java编译器对此进行测试,并确保将"编译器符合性级别"设置为1.5或者更高。

回答

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

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

  • 以root或者sudo的身份在命令行中输入:

update-alternatives --config javac

  • 找到指向sun的jdk的数字,键入该数字,然后单击" ENTER"。
  • 你完成了!从现在开始,我们可以在Ubuntu下使用java.util.Scanner。

System.out.println("谢谢,先生。"); 扫描仪扫描仪= java.util.Scanner(System.in); 字符串感谢= Scanner.next(); System.out.println("欢迎。");