プロンプトでは、パブリック静的を以下に設定し、再帰のみを使用する必要があります。これは私の知識ベースがかなり低いので、Javaを使用した最初の1週間です。私はLuhnアルゴリズムのコードをオンラインで見ましたが、第2パラメータとしてブール値を使用していないようです。Luhnアルゴリズムの作成に問題があり、Javaを使用していません
基本的には、各値(右から左)をとり、2番目の値を2倍して(ブール値は2倍にするかどうかを決定するために使用される)、Luhnアルゴリズムを作成する必要があります。一緒に。 例) System.out.println(sumLuhnDigits(7992739871005L、false));
は72私はに実行している問題は、「長い」タイプについて返します。
Javaは、カウント変数を(number%10)と等しく設定する前に開始する必要があることを私に伝えています。これは、+ =として設定されており、そう。しかし、それをトップに0に設定すると、私が作ろうとしていたカウンターが壊れてしまいます。
また、「長い」タイプではないと言って、カウントを返すときも構文は好きではありません。 私は現在、stackoverflowエラーにも悩まされているようです。だから私は再帰から脱出する必要があります。
public static long sumLuhnDigits(long number, boolean odd) {
/// Java IDE said I needed to initiate the variable count but now it won't accumulate properly being set = 0
long count = 0;
if (odd == false) {
count += number % 10;
number = number/10;
odd = true;
return sumLuhnDigits(number, odd);
} if (odd == true) {
count += (number % 10) * 2;
number = number/10;
odd = false;
return sumLuhnDigits(number, odd);
/// Here I ran into the problem that count is not the type long, this is also as far as I have gotten
} if (number == 0) {
return count;
}
}
スタックオーバーフローへようこそ!あなたがかもしれように見えます宿題のためのスキー。それ自体に問題はありませんが、これらのことを守ってください(http://meta.stackoverflow.com/questions/334822/how-do-i-ask-and-answer-homework-questions/338845#338845)、それに応じて質問を編集してください。 (これは宿題ではなくとも、とにかくアドバイスを検討してください) –
質問をするのを忘れました。何が間違っているのでしょうか? –
最後の 'else if'ブロックはどのように評価できますか?ブール値の「奇数」は、偽でも真でもない。それは決して起こりません。 –