我首先在eclipse中完成所有编程任务,然后将它们放入putty并将它们提交给我们的老师。在eclipse中,我的一种方法中出现了这个奇怪的错误。
它说“令牌上的语法错误,错误放置的构造。”
public static int factorial(int iVal, boolean DEBUG)
{
int result;
// Defensive programming
if(iVal <= 0)
{
System.out.println("Error: iVal cannot be a negative number!");
System.exit(0);
}
// Calculate result
int factor = iVal;
int counter = iVal - 1;
for(int i = counter; i > 1; i--)
{
if(DEBUG = true)
{
System.out.println("DEBUG");
System.out.println(" Finding the factorial of " + factor);
System.out.println(" Currently working on " + i);
System.out.println(" With an intermediate result of" + iVal);
}
iVal *= i;
}
result = iVal;
// Return result
return result;
} // End of factorial method
错误放在由
组成的行上System.out.println(" Currently working on " + i);
有什么想法吗?
答案 0 :(得分:4)
if(DEBUG = true)
比较为==
,作业为=
此外,如果您只是测试一个布尔值,则根本不需要进行比较,只需使用
if(DEBUG)
答案 1 :(得分:1)
您在if语句中有一个作业:
if(DEBUG = true){
这是合法的(和编译),因为DEBUG
的类型为boolean
,但始终为true
。