這是我目前正在製作的計算器程序的一部分,這部分決定了b是否是a的一個因子。另外我是Java的新手,這使得我第三天學習它的語法。無論如何,我想知道哪種方法更有效地確定b是否是a的一個因子。它是模數運算符(%)還是我的第二個方法?確定b是否是一個因子的有效方法?
如果還有比我提出的兩種方法更有效的方法,請顯示。
// for now I want the result to print out in the console
public class factornot {
public static void main(String args[]) {
int a = 56, b = 3; // just for testing purposes!
if((a != 0) && (a % b) == 0) System.out.println(b + " is a factor of " + a);
else System.out.println(b + " is not a factor of " + a);
// short-circuit and prevents a divide by zero error!
// is this better or worse, faster or slower ???
int d = (a/b), e = (d * b);
if((a - e) == 0) System.out.println(b + " is a factor of " + a);
else System.out.println(b + " is not a factor of " + a);
}
}
你應該發佈這個:http://codereview.stackexchange.com/ –
我猜想第一個更快,因爲大多數或所有的處理器這些天有一個內置的模數指令,所以他們不需要除以然後乘。但這只是一個猜測。你必須做一個實驗才能確定。無論如何,使用'%'更具可讀性。 – ajb
你不需要檢查'a!= 0'。我們認爲每個數字都是「0」的因素。 –