この問題は、再帰を使用して解決する必要があります。配当と除数をパラメータとして再帰を使用してint []除算メソッドを作成するにはどうすればよいですか?
「else」の後にコードを使用して、分けることができる回数をカウントするint tempを使用して商を見つけようとしました(temp = dividend - divisor)。
int rは商であると考えられますが、division()はintではなく配列であるため、再帰を適用することはできません。私はresult(0)の中にdivision()を挿入しようとしましたが、同じことですが、戻り値はintではなく配列です。
結果は、2つの要素、すなわち除算の商と剰余の配列です。
私は再帰を練習してきたが、私は再帰のこのミックスで失われたと私はおそらくforループでこれを解決することができる配列
が、私が言ったように、再帰を使用しなければならないんです。
elseとreturnの間のコードのみを変更する必要があります。これが簡単であれば、私はそれを見ません。
私は以前に答えを探していましたが、私が見つけた答えは返り値であり配列ではありません。
これは(あなたがメインで見ることができるように、テストの配当は13で、除数が3である)私の失敗したテストとコードです:
public class Main{
/*
* Returns an array with the quotient and remainder of the
* integer division
*
* @param dividend a positive int
* @param divisor a positive int
*/
static int[] division(int dividend, int divisor){
int result[] = {0, dividend};
if (dividend < divisor){
return result;
} else{
***int temp = dividend - divisor;
int r = 1 + division(temp , divisor);***
return result;
}
}
public static void main(String[] args){
int result[]=division(13,3);
System.out.println("Quotient: "+ result[0]
+ " Remainder: "+ result[1]);
}
}
'division(temp、divisor)'は配列を返します。ここに '1'を追加することはできません。 – SomeJavaGuy