#list #dart
#Список #dart
Вопрос:
Я использую переменную j, которая увеличивается каждый раз, когда выполняется цикл for, для подсчета количества выполненных циклов и добавления значения i в список a, а затем добавления списка a в b, но при печати b выводится неправильный вывод.
Мой Код:-
void main() {
var a=[];
var b=[];
int j=0;
for (int i = 0; i < 5; i ) {
j ;
a.add(i);
if(j>=4)
{
b.addAll(a);
print(b);
}
}
}
По логике вещей, он должен печатать [0,1,2,3,4], но он печатает:-
[0, 1, 2, 3]
[0, 1, 2, 3, 0, 1, 2, 3, 4]
Комментарии:
1. Это очень серьезный алгоритм. Я еще не добрался до таких сложных алгоритмов. Это почти как нейронная сеть.
Ответ №1:
Причина , по которой он печатает его дважды и во второй раз с дублированием одного и того же списка , кроется в вашей логике j>=4
. Он получает удар дважды. Если вы хотите, чтобы он получил его только один раз, вам нужно будет удалить =
void main() {
var a=[];
var b=[];
int j=0;
for (int i = 0; i < 5; i ) {
j ;
a.add(i);
if(j>4)
{
b.addAll(a);
print(b);
}
}
}
это происходит потому , что вы ссылаетесь j
вместо i
. j
достигнет 5, поэтому ваша логика j>=4
применима к 4 и 5, тогда i
как не достигнет, потому что она достигнет только 4.