我在Linux Mint 12上的Eclipse 3.7.0中遇到了一个奇怪的问题。我在这里有一个代码片段来使用JOptionPane
从用户那里获取一个整数,并且最初想要限制用户选择数字0到10.但是,我现在正在尝试将其更改为接受介于-10和10之间的数字,因此我注释掉了条件。当我在Eclipse中运行它时,它仍然限制我从0到10,但从终端编译和运行工作正常。这是我的代码的一部分,但我认为问题在于我的设置,而不是代码:
try {
degree = Integer.parseInt(input);
/*if(degree > 10 || degree < 0) JOptionPane.showMessageDialog(null, "Please enter integer between 0 and 10.", "Error", JOptionPane.ERROR_MESSAGE);
else*/ valid = true;
} catch(NumberFormatException e) {
JOptionPane.showMessageDialog(null, "That is not a valid integer.", "Error", JOptionPane.ERROR_MESSAGE);
}
编辑:我刚刚在项目列表中发现了一个红色惊叹号,但我找不到它说错的地方。
答案 0 :(得分:3)
是。问题与您的设置有关。
显然,从Eclipse启动应用程序时运行的已编译类与从命令行创建的类不同。
我们可以安全地消除Eclipse编译器作为一个合理的原因。 Java编译器不会忽略您的更改...如果它运行...并且包括注释掉事物。
以下是一些更合理的解释:
代码尚未在Eclipse中重新编译。
如果要更新Eclipse之外的源文件,Eclipse可能会发生这种情况,而Eclipse则不知道这一点。在项目视图中选择项目,然后使用F5刷新。
如果您关闭了自动构建,和/或忽略了编译错误,也可能发生这种情况。
你的Eclipse结了。 (有时会发生......)重启Eclipse。如果没有区别,请使用-clean
命令行选项重新启动Eclipse。
您可能已经为Eclipse项目的构建路径或启动器配置做了一些事情来实现这一点。后者可以通过创建新的启动器配置进行测试。
答案 1 :(得分:0)
运行Project / Clean修复了Eclipse,忽略了我注释掉的代码并显示了编译错误。