/ / Nie można przypisać wartości do końcowej długości zmiennej - java

Nie można przypisać wartości do ostatecznej długości zmiennej - java

Niedawno zarejestrowałem się w programistach. Robiłem moją pierwszą kata java i pojawia się dziwny błąd w kodzie, który wydaje mi się poprawny. Oto kod:

import java.math.BigInteger;

public class Powers {
public static BigInteger powers(int[] list) {
BigInteger number;
if (list.length = 0){
number = 1;
}else if (list.length = 1){
number = 2;
}else if (list.length > 1){
number  = list.length * list.length;
}
return number;
}
}

Oto ślad stosu, który otrzymuję:

/Powers.java:6: error: cannot assign a value to final variable length
if (list.length = 0){
^
/Powers.java:6: error: incompatible types: int cannot be converted to boolean
if (list.length = 0){
^
/Powers.java:7: error: incompatible types: int cannot be converted to BigInteger
number = 1;
^
/Powers.java:8: error: cannot assign a value to final variable length
}else if (list.length = 1){
^
/Powers.java:8: error: incompatible types: int cannot be converted to boolean
}else if (list.length = 1){
^
/Powers.java:9: error: incompatible types: int cannot be converted to BigInteger
number = 2;
^
/Powers.java:11: error: incompatible types: int cannot be converted to BigInteger
number = list.length * list.length;
^
7 errors

java.lang.RuntimeException: /Powers.java:6: error: cannot assign a value to final variable length if (list.length = 0){ ^ /Powers.java:6: error: incompatible types: int cannot be converted to boolean if (list.length = 0){ ^ /Powers.java:7: error: incompatible types: int cannot be converted to BigInteger number = 1; ^ /Powers.java:8: error: cannot assign a value to final variable length }else if (list.length = 1){ ^ /Powers.java:8: error: incompatible types: int cannot be converted to boolean }else if (list.length = 1){ ^ /Powers.java:9: error: incompatible types: int cannot be converted to BigInteger number = 2; ^ /Powers.java:11: error: incompatible types: int cannot be converted to BigInteger number = list.length * list.length; ^ 7 errors at codewars.runners.java$compile_and_load.doInvoke(java.clj:85) at clojure.lang.RestFn.invoke(RestFn.java:439) at codewars.runners.java$fn__572.invoke(java.clj:110) at clojure.lang.MultiFn.invoke(MultiFn.java:227) at codewars.runners$run.invoke(runners.clj:22) at codewars.core$_main$fn__634.invoke(core.clj:40) at clojure.lang.AFn.call(AFn.java:18) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.lang.Thread.run(Thread.java:745)

Odpowiedzi:

4 dla odpowiedzi № 1

Używasz operatora przypisania = zamiast operatora porównania == tutaj:

if (list.length = 0)