我正在上一门AP计算机科学课程,并对Java程序中特定变量的用途有一个简短的问题。以下是我对教科书中某个程序的略微改动...

public class Nineteen {
        public static void main(String[] args) {
                int valid = checkNumber(6145);
        }

        public static int checkNumber(int n)
        {
                int d1,d2,d3,checkDigit,nRemaining,rem;
                checkDigit = n % 10;
                nRemaining = n / 10;
                d3 = nRemaining % 10;
                nRemaining /= 10;
                d2 = nRemaining % 10;
                nRemaining /= 10;
                d1 = nRemaining % 10;
                rem = (d1 + d2 + d3) % 7;
                System.out.println("checkNumber executed.");
                if (rem == checkDigit) {
                        System.out.println("Equal");
                }
                return 1;
        }
}


我的书说上述程序中的nRemaining的目的是提高程序的可读性,而不是用作整数除法的左手操作数。谁能帮忙解释为什么?我敢肯定程序可以用更简洁的方式重写,但这是最明显的目的吗?

最佳答案

本质上,在这样的上下文中添加变量的目的是将计算过程分解为更小的,更易于理解的步骤。您可以将这些操作组合成更密集的指令集,但是,这样一来,将很难理解,并且更难以调试。为此,引用...

“调试是一开始编写代码的两倍。因此,如果您尽可能聪明地编写代码,那么就定义而言,您就不够聪明,无法对其进行调试。”布莱恩·克尼根(Brian Kernighan)

(以防万一:https://stackoverflow.com/questions/1103299/help-me-understand-this-brian-kernighan-quote

关于java - 特定Java变量的目的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19574241/

10-09 02:09