gpt4 book ai didi

java - Android Studio for 循环问题

转载 作者:行者123 更新时间:2023-11-29 19:12:36 25 4
gpt4 key购买 nike

    private static final String TAG = MainMenu.class.getSimpleName();
Log.d(TAG, "begin loop");
for (int fa = 0; fa < 2000; ++fa) {
Log.d(TAG, "starting loop " + String.valueOf(fa));
for (int fb = 0; fb < 8; ++fb) {
Log.d(TAG, "fb = " + String.valueOf(fb));
}
}

我知道这是一个非常简单的嵌套循环。我遇到了一些奇怪的事情,我这辈子都不知道为什么。我试图用 while 循环重写它,但同样的事情发生了。

这是正在发生的棘手事情的一个例子:

    D: starting loop 53
D: fb = 0
D: fb = 1
D: fb = 2
D: fb = 3
D: fb = 4
D: fb = 5
D: fb = 6
D: starting loop 54
D: fb = 0
D: fb = 2
D: fb = 3
D: fb = 4
D: fb = 6
D: starting loop 55
D: fb = 0
D: fb = 1
D: fb = 3
D: fb = 4
D: fb = 6
D: starting loop 56
D: fb = 0
D: fb = 1
D: fb = 3
D: fb = 4
D: fb = 6
D: fb = 7
D: fb = 0
D: fb = 1
D: fb = 3
D: fb = 4
D: fb = 6
D: fb = 7

我放置了第一个日志语句,以便我知道它是否正在另一个线程中运行并以某种方式重置指针,但在日志中只有一个“开始循环”。

您可以在循环 53 中看到,它甚至没有到达 7,在循环 54 和 55 中它跳过了数字,在循环 56 中它重新开始。

这是未记录行的问题还是循环的问题?

我试着注释掉内部日志,我得到这样的输出:

    D: starting loop 1642
D: starting loop 1643
D: starting loop 1645
D: starting loop 1646
D: starting loop 1647
D: starting loop 1649
D: starting loop 1650
D: starting loop 1652

你可以看到它在跳过数字。我希望这只是一个日志记录问题,for 循环没有什么大问题。

非常感谢任何人可以提供的帮助。提前致谢。

最佳答案


您的代码应该可以工作,但事实并非如此。你为什么问?我不认为它与您的代码有任何关系,但更多的是与控制台 IO 相关。你在几(毫秒)秒内写了 18001 行,这可能会出错 :D
尝试在迭代中添加一些 sleep ,或者只打印更少
快乐编码!

关于java - Android Studio for 循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44759790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com