List for循环输出错误
我使用了一个变量j,它在for循环每次执行时递增,以计算它运行的循环数,并在列表a中添加I的值,然后将列表a添加到b中,但在打印b时,它打印了错误的输出 我的代码:-List for循环输出错误,list,dart,List,Dart,我使用了一个变量j,它在for循环每次执行时递增,以计算它运行的循环数,并在列表a中添加I的值,然后将列表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);
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);
}
}
}
void main(){
var a=[];
var b=[];
int j=0;
对于(int i=0;i<5;i++){
j++;
a、 加(i);
如果(j>=4)
{
b、 阿道尔(a);
印刷品(b);
}
}
}
逻辑上它应该打印[0,1,2,3,4],但它正在打印:-
[0,1,2,3]
[0,1,2,3,0,1,2,3,4]它打印两次,第二次重复相同列表的原因是因为您的逻辑是
j>=4
。它被击中了两次。如果您只想让它获得一次,则需要删除=
void main(){
var a=[];
var b=[];
int j=0;
对于(int i=0;i<5;i++){
j++;
a、 加(i);
如果(j>4)
{
b、 阿道尔(a);
印刷品(b);
}
}
}
这是因为您引用的是
j
,而不是i
j
将达到5,因此您的逻辑j>=4
适用于4和5,而i
不会,因为它最多只能达到4。这是一个非常严重的算法。我还没有掌握如此复杂的算法。它几乎就像一个神经网络。