为什么会这样';如果';不在Java中执行?

为什么会这样';如果';不在Java中执行?,java,if-statement,arraylist,Java,If Statement,Arraylist,出现这种情况的原因是什么?我如何纠正这种情况?您的第一个while循环将输入编号的所有数字添加到数组列表中,除非输入编号为0,否则在这种情况下,不会将任何数字添加到列表中 因此,min和max变量保留其默认值 您可以通过添加0的测试来解决此问题: if(min>digit){ min=digit; } 在IDE调试器中运行代码,并一次一行地遍历代码,同时检查变量。请在此处发布问题之前执行此操作。它将被执行,但您的ArrayList为空,因为while条件在任何点(两者)都无效欢迎

出现这种情况的原因是什么?我如何纠正这种情况?

您的第一个while循环将输入编号的所有数字添加到
数组列表中,除非输入编号为0,否则在这种情况下,不会将任何数字添加到
列表中

因此,
min
max
变量保留其默认值

您可以通过添加0的测试来解决此问题:

if(min>digit){
    min=digit;
}

在IDE调试器中运行代码,并一次一行地遍历代码,同时检查变量。请在此处发布问题之前执行此操作。它将被执行,但您的
ArrayList
为空,因为while条件在任何点(两者)都无效欢迎使用堆栈溢出。除了在发布前调试代码外,请花时间将代码格式化为尽可能可读的格式。我会编辑这个问题,以显示你想要我的意思,但请为你自己的下一篇文章这样做。是的。它不会被执行。但不是因为你想的原因。在
000000
情况下不会执行它,因为
arrayIndexSize
将为零。感谢大家的反馈。我将改进这个问题,然后在IDE调试器中检查它。我对编程很陌生。再次感谢。:)
if(min>digit){
    min=digit;
}
if (index == 0)
    indexArray.add(0);
else {
    while (index > 0) {
        indexArray.add(index%10);
        index=index/10;
    }
}