Java三元运算符错误

Raf*_*ael 0 java ternary

  1. Errors are illegal start of an expression
  2. error: not a statement
  3. ';' expected

我在takeStix()中收到有关if else语句的错误.

private int numStix;

public int getNumStix() {return numStix;}

public boolean takeStix(int number) {
      ( number <= 3 && number <= getNumStix() ) ? return true : return false;
}
Run Code Online (Sandbox Code Playgroud)

khe*_*ood 6

您不能return true在三元运算符中添加语句(例如),只能使用值.

所以你可以把:

return (number <= 3 && number <= getNumStix()) ? true : false;
Run Code Online (Sandbox Code Playgroud)

但是你甚至不需要三元运算符:

public boolean takeStix(int number) {
    return (number <= 3 && number <= getNumStix());
}
Run Code Online (Sandbox Code Playgroud)