我想知道在 for 循环中使用 list.length 和使用 var (int length = list.length) 之间的区别

问题描述

void main() {
  List arr = [1,2,3,4,5];
  int sums = 0;
  List all = [];
  int length = arr.length;
  for (int i = 0; i < length; i++) {
    for (int j = 0; j < /**/ length - 1 /**/; j++) {
      if (arr[i] == arr[j]) {
        print('removed $i = ${arr[j]}');
        arr.removeAt(j);
      }
      print('$i = ${arr[j]}');
      sums += arr[j];
    }
    all.add(sums);
    sums = 0;
    arr.clear();
    arr = [1,5];
  }
  print(all);
}

上面的代码打印 [14,13,12,11,10]
但是如果我使用 arr.length-1 它会打印 [9,8,7,10]

void main() {
    List arr = [1,5];
    int sums = 0;
    List all = [];
    int length = arr.length;
    for (int i = 0; i < length; i++) {
    for (int j = 0; j < /**/ arr.length - 1 /**/; j++) {
        if (arr[i] == arr[j]) {
        print('removed $i = ${arr[j]}');
        arr.removeAt(j);
        }
        print('$i = ${arr[j]}');
        sums += arr[j];
    }
    all.add(sums);
    sums = 0;
    arr.clear();
    arr = [1,5];
    }
    print(all);
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...