0

我正在学习 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上面这个程序的目的是提高程序的可读性,而不是用作整数除法的左手操作数。谁能帮忙解释这是为什么?我确信该程序可以以更简洁的方式重写,但这是最明显的目的吗?

4

1 回答 1

1

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

“首先,调试的难度是编写代码的两倍。因此,如果你尽可能巧妙地编写代码,那么根据定义,你就不够聪明,无法调试它。” ——布赖恩·克尼汉

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

于 2013-10-24T19:02:30.663 回答