扫描仪无法解析为某种类型
我刚刚安装了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("欢迎。");