1
這個問題必須使用遞歸解決。如何使用帶有除數和除數作爲參數的遞歸創建一個int []除法方法?
我試圖用代碼之後「其他」找到使用計數是多少次可以劃分爲int溫商(TEMP =股利 - 除數)。
int r應該是商,但由於division()不是int而是數組,我不能應用遞歸。我也嘗試在結果[0]內插入除法(),但同樣的事情,返回是一個數組,而不是一個int。
結果是一個有2個元素的數組:分數的商和餘數。
我一直在練習遞歸,但我失去了在這個混合遞歸和數組
我也許可以用一個解決這個for循環,但正如我所說的,必須使用遞歸。
只有else和return之間的代碼應該被修改。如果這應該很容易,我不會看到它。
我一直在尋找答案,但我發現使用int作爲返回,而不是數組。
這是我失敗的測試代碼(你可以在主看到,測試股息爲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