2013-08-30 99 views
0

以下是我有:除數邏輯不工作

public static boolean isDivisor(int num, int Divisor) { 
    int remainder = num%Divisor; 
    if (remainder >= 1) { 
     return false; 
    } else { 
     return true; 
    } 
} 

基本上,發生了什麼是它的讀取兩個值,獲得剩餘並檢查它是否是一個約數。我遇到的問題是,即使數字不可分(即5,2不是除數),它總是返回爲真。我很困惑,爲什麼這不起作用。思考?

+0

這是在Java嗎? – pamphlet

+0

代碼工作...剛剛測試isDivisor(5,2)(返回false)和isDivisor(10,5)(返回true) – gtgaxiola

+0

我拿了你的方法在5和2中傳遞的副本,並返回假的預期(使用C#) –

回答

1

您的代碼是正確的。但是,這是更好的(C#版本,但for Java是幾乎相同):

public static bool isDivisor(int num, int Divisor) { 
    return num % Divisor == 0; 
} 

此外,變量名稱應該以小寫字母開頭:(查看評論1/2)

public static bool isDivisor(int num, int divisor) { 
    return num % divisor == 0; 
} 

而且因爲這

public static bool IsDivisor(int num, int divisor) { 
    return num % divisor == 0; 
} 

的最後一個例子只是爲了完整起見,可以忽略它,因爲你在java的寫作,因此駝峯是完美的:在C#代碼的方法名稱應以大寫字母寫。

+3

如果我們要提供樣式建議作爲答案,我們不應該在'Divisor'中使用小寫的「d」嗎? – pamphlet

+0

你是對的(+1),但我只是顯示了if/then/else的有用性:) – Alberto

+0

只是再次測試它,仍然沒有與5,2的情況下工作(返回true,但應該是false),我在我的筆記本電腦上測試它,它具有NetBeans 7.3.1和我的計算機與Netbeans 7.0.1 ...我可以告訴代碼是正確的,但我似乎無法得到它的工作.. – user2733440