我只是一个初学者,目前在大学学习的java,但由于原因,我不会进入,我不能要求我的导师。
我在Netbeans中使用StdIn库时遇到了问题。在课堂上,我们使用DrJava,但由于我无法让它在我的Mac上运行,所以我求助于Netbeans。在下面的代码中,我可以让它在Dr Java中运行(这是使用标准输入和输出的基本介绍),但是当我在netbeans中运行它时,它会引发一个运行时错误。
(我已将StdIn.java和StdOut.java文件包含在与MaxMin.java文件相同的目录中)
public class MaxMin {
public static void main(String[] args) {
// first value read initialized min and max
int max = StdIn.readInt();
int min = max;
// read in the data, keep track of min and max
while (!StdIn.isEmpty()) {
int value = StdIn.readInt();
if (value > max) max = value;
if (value < min) min = value;
}
// output
StdOut.println("maximum = " + max + ", minimum = " + min);
}然后,我在netbeans输出窗口中获得这个运行时错误。
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: maxmin.StdIn.readInt
at maxmin.MaxMin.main(MaxMin.java:19)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)我很抱歉,这一定是一个非常基本的问题,但我找不到任何相关的帮助,在这里堆叠溢出。
我确信代码本身是安全的,因为它完全是从在线教科书中复制的:
http://introcs.cs.princeton.edu/java/15inout/MaxMin.java.html
有人能解释一下为什么Netbeans抛出运行时错误而不是要求我输入吗?
作为对建议的回应,我取消了在项目构建选项中选择“编译即存”,然后执行了“清理和构建项目”。并提出了这些错误:
ant -f /Users/xUsernamex/NetBeansProjects/MaxMin -Dnb.internal.action.name=rebuild clean jar
init:
deps-clean:
Updating property file: /Users/xUsernamex/NetBeansProjects/MaxMin/build/built-clean.properties
Deleting directory /Users/xUsernamex/NetBeansProjects/MaxMin/build
clean:
init:
deps-jar:
Created dir: /Users/xUsernamex/NetBeansProjects/MaxMin/build
Updating property file: /Users/xUsernamex/NetBeansProjects/MaxMin/build/built-jar.properties
Created dir: /Users/xUsernamex/NetBeansProjects/MaxMin/build/classes
Created dir: /Users/xUsernamex/NetBeansProjects/MaxMin/build/empty
Created dir: /Users/xUsernamex/NetBeansProjects/MaxMin/build/generated-sources/ap-source-output
Compiling 3 source files to /Users/xUsernamex/NetBeansProjects/MaxMin/build/classes
/Users/xUsernamex/NetBeansProjects/MaxMin/src/maxmin/MaxMin.java:19: error: cannot find symbol
int max = StdIn.readInt();
symbol: variable StdIn
location: class MaxMin
/Users/xUsernamex/NetBeansProjects/MaxMin/src/maxmin/MaxMin.java:23: error: cannot find symbol
while (!StdIn.isEmpty()) {
symbol: variable StdIn
location: class MaxMin
/Users/xUsernamex/NetBeansProjects/MaxMin/src/maxmin/MaxMin.java:24: error: cannot find symbol
int value = StdIn.readInt();
symbol: variable StdIn
location: class MaxMin
/Users/xUsernamex/NetBeansProjects/MaxMin/src/maxmin/MaxMin.java:31: error: cannot find symbol
if (value < 0) StdOut.println("Please use positive values");
symbol: variable StdOut
location: class MaxMin
/Users/xUsernamex/NetBeansProjects/MaxMin/src/maxmin/MaxMin.java:35: error: cannot find symbol
StdOut.println("maximum = " + max + ", minimum = " + min);
symbol: variable StdOut
location: class MaxMin
5 errors
/Users/xUsernamex/NetBeansProjects/MaxMin/nbproject/build-impl.xml:923: The following error occurred while executing this line:
/Users/xUsernamex/NetBeansProjects/MaxMin/nbproject/build-impl.xml:263: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 0 seconds)在我看来,在识别StdIn和StdOut库方面,我遇到了一些问题,但我不知道该怎么办。在Netbeans中,我应该把它们放在哪个文件夹中?
发布于 2014-10-28 13:16:33
如果某些类不可编译,则在netbeans中发生此错误。您可以尝试在项目生成选项中取消选择“保存上的编译”。现在清理和构建您的项目,然后运行您的代码。
https://stackoverflow.com/questions/26608841
复制相似问题