如何在eclipse中调试复杂的for循环,如下面的代码所示?
import java.util.Arrays;
import java.util.List;
public class ListTraining {
public void countOccurence() {
List<Integer> numbers = Arrays.asList(3, 4, 3, 5, 2, 3);
Integer number = 3;
for (int i = numbers.indexOf(number), j = -1; i > j; j = i, i += numbers.subList(i + 1, numbers.size()).indexOf(number) + 1) {
System.out.println("found number: " + number + " at position: " + i);
}
}
}
如果我使用“Step Over”,我就在指令块中。如果我使用“Step Into”,我就在indexOf这样的方法中。我如何才能轻松地研究循环标头中的变量和调用?
是否可以像在条件检查或变量赋值中那样跳过循环的单个指令?
4条答案
按热度按时间kninwzqo1#
在for循环处暂停调试器。突出显示一段代码。右击它并选择“Inspect”选项以查看其值(例如,突出显示
numbers.indexOf(number)
以查看该函数的返回值是什么)。uqcuzwp82#
使用调试视图的变量组件
yr9zkbsy3#
如果您的for运行得很好,我建议使用system.println(对数据进行递增的字符串)。查看每个循环中的数据。控制台将显示循环的内容。
如果您的for在某个时刻中断,我建议使用调试模式并在循环中间放置一个断点,每次到达断点时代码的执行都将停止,您可以查看处于该状态的for循环中的所有变量。
weylhg0b4#
将for循环的头拆分为多行