我讓我的方法的計算器錯誤,我不知道爲什麼,因爲我遞歸問題初學者簡單的java
if (index < elements.size())
行確保它不是一個無限遞歸調用。這是我的代碼到目前爲止。
private boolean checkIfIncreasing(ArrayList<T> elements, int index){
index = 0;
boolean currentReturnVal = false;
//element at position 0 of the passed in array
T objAtIndex = elements.get(index);
//element at position 1 of the passed in array
T objAtNextIndex = elements.get(index + 1);
//if the size is 1 then just return true bc its the only element in there
if (elements.size() == 1){ currentReturnVal = true;}
if (index < elements.size()){ //takes care of non infinite "looping"
//checks to see if obj at index 0 is less than or equal to obj 1
if (objAtIndex.compareTo(objAtNextIndex) <= 0){
currentReturnVal = true;}
checkIfIncreasing(elements, index++);
if (objAtIndex.compareTo(objAtNextIndex) >= 0){
return false; }
}
return currentReturnVal;
}
我不知道爲什麼我收到錯誤,我不知道如何從結構上修復它。
你每次都設置索引爲0之前增加索引。所以除非'elements.size()'是0,它永遠不會停止。 – marisbest2