私は2つの整数を受け入れる再帰関数を書き込みます。この関数は、最初の桁数が2番目の数値と等しい場合はtrueを返し、そうでない場合はfalseを返します。再帰java - テストは2つの整数の和です。ブール関数
この関数は常にtrueを返します。
私は間違っていますか?
コード:
public static boolean amountEqual(int num1, int num2) {
int sum1 = 0, sum2 = 0;
if (num1 == 0 && num2 == 0 && sum1 == sum2)
return true;
else if (num1 == 0 && num2 == 0 && sum1 != sum2)
return false;
sum1 += num1 % 10;
sum2 += num2 % 10;
return amountEqual(num1/10, num2/10);
}
感謝の
2つの変数sum1とsum2の目的は何ですか? – tfosra
それぞれの呼び出しは 'sum1'と' sum2'の独自のバージョンを持っています。あなたが呼び出し間で状態を共有することを望んでいない場合は、それを引数として渡します。グローバル/インスタンス変数を使用することを避けてください。 –
sum1 =最初の数字のすべての桁の合計 Sum2 = 2番目の数字のすべての桁の合計 – liran