0

ここに私が持っているものがあります:

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

基本的に、何が起こっているかというと、2 つの値を読み取り、剰余を取得して、それが除数かどうかをチェックしています。私が抱えている問題は、数値が割り切れない場合でも常に true として返されることです (つまり、5 の場合、2 は除数ではありません)。なぜこれが機能しないのか混乱しています。考え?

4

1 に答える 1

1

あなたのコードは正しいです。しかし、これは優れています(C#バージョンですが、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;
}

さらに、これは C# コードであるため、メソッド名は大文字で記述する必要があります。

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

最後の例は完全を期すためのものです。Jave で書いているので無視してかまいません。キャメルケースは完璧です。

于 2013-08-30T15:23:15.127 に答える