调试器中的变量原本应该不变,但是创建了一个值相同的“监视”,并且此变量发生了变化

时间:2019-10-11 23:19:14

标签: java debugging netbeans

首先,我是调试器工具的新手,但仍然认为自己是编程的新手。使用调试器并尝试找出问题的第一天。无论如何,我有一个可以按预期工作的程序,但是在使用调试器逐步进行时,我注意到我的一个值在预期的情况下不会发生变化,但是程序仍然可以正确运行,就像该值确实可以更改。因此,我重新启动了程序,并为相同的变量创建了一个监视。当我单步执行它时,我正在监视的变量会发生变化,但调试器会自动显示该变量的值却没有变化。

        while (tempNumber < number)
        {
            prime = true;
            for (int i = 2; i < tempNumber; i++)
            {
                remainder = (tempNumber % i);
                if (remainder == 0)
                    prime = false;
            }
            if (prime == true)
                System.out.println(tempNumber);
            tempNumber++;
        }

因此,从头开始,tempNumber = 4,number =10。在计算余数的部分中,“ tempNumber%i”为“ 4%2”,即0。调试器突出显示该部分

  

prime = false;

,只要进入下一行或在调试器中继续,手表中的 prime 变量就会更改为 false ,但 prime 调试器自动显示的变量,保持为 true

编辑:好的,所以我不确定会发生什么,但是我去了netbeans截屏调试器,也许还有代码,但是当我写出这个问题时,调试器中的质数以某种方式变为false。我进行了一些重新测试,现在,它们都在应有的同时更改为false。一切都按现在的预期进行,但是我浪费了很多时间写出这个问题,我有点咸,现在的问题是为什么这首先发生了。

My debugger, I edited to show what it was like before I spent an hour creating this question

0 个答案:

没有答案