无法为最终变量长度赋值

时间:2015-06-22 22:54:10

标签: java

我最近注册了代码新闻。我正在做我的第一个java kata,我得到一个奇怪的错误代码看起来对我有效。这是代码:

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;
  }
}

这是我得到的堆栈跟踪:

/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)

1 个答案:

答案 0 :(得分:4)

您在这里使用赋值运算符=而不是比较运算符==

if (list.length = 0)
相关问题