【发布时间】:2015-02-22 22:35:06
【问题描述】:
我一直在调试我为班级编写的罗马计算器程序。由于未知的原因,当我在输入操作数后运行调试器时,调试器似乎进入了无限循环,调试器工具栏上的“恢复”、“暂停”、“终止”和所有“步骤”按钮变成浅灰色并且不能使用。奇怪的是,当我在调试器之外运行程序时,它会完全运行,尽管有一些错误但没有无限循环。到底是怎么回事?
int getOperand(int which) {
System.out.println("Enter operand " + which);
boolean invalid_operand;
int numeralValue;
do {
invalid_operand = false; //Debugger seems to drop out here
String operand = keyboard.nextLine();
operand.toUpperCase();
if (operand.length() == 0)
invalid_operand = true;
numeralValue = convert_from_Roman(operand);
} while (invalid_operand);
return numeralValue;
}
【问题讨论】:
-
你能提供在调试时表现出这种行为的最小代码段吗?
-
当然,还值得注意的是,我已经使用调试器完全通过程序完成了一次,然后我没有更改任何代码,它开始出现此错误。