Java 意外类型。必需变量,找到值

Java 意外类型。必需变量,找到值,java,compiler-errors,syntax-error,Java,Compiler Errors,Syntax Error,我不明白为什么这段代码无法编译: public class Fibonacci { static final int MAX_INDEX =10; public static void main(String[] args) { int lo = 1; int hi = 1; String mark; System.out.println("1: " + lo);

我不明白为什么这段代码无法编译:

public class Fibonacci 
{
    static final int MAX_INDEX =10;    
    public static void main(String[] args) 
    {
        int lo = 1;
        int hi = 1;
        String mark;        
        System.out.println("1: " + lo);        
        for (int i=2;i<MAX_INDEX; i++)
        { 
            if ((hi%2)=0)
            mark="*";            
              else
            mark="";
            System.out.println(i+": "+hi + mark);
            hi=lo+hi;
            lo=hi-lo;            
        }   
    }   
}

=
是赋值运算符。您打算使用相等检查操作符,
==

if ((hi%2) == 0)
// Here ---^

=
是赋值运算符。您打算使用相等检查操作符,
==

if ((hi%2) == 0)
// Here ---^
“==”的问题。 与其这样给出
if((hi%2)=0)
给出这样的
if((hi%2)==0)

问题为“=”。
如果((hi%2)=0)像这样给予,而不是像这样给予。如果((hi%2)==0)像这样给予。

使用
==
代替
=
=
是赋值运算符。if语句期望返回布尔值,而在将(hi%2)赋值给0时,它得到的值是0。使用条件运算符,如
=
=
使用
=
而不是
=
=
是赋值运算符。if语句期望返回布尔值,而在将(hi%2)赋值给0时,它得到的值是0。使用条件运算符,如
=
=