這是定期如何完成的,但它必須是遞歸的,沒有for,do-while和while循環。如果只是陳述。你可以編寫它如何編寫一個遞歸方法,該方法將整數ArrayList作爲輸入並返回最小整數?
import java.util.ArrayList;
import java.util.Scanner;
public class arrayex1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
ArrayList<Integer> numbers = new ArrayList<Integer>();
System.out.println("Enter numbers: ");
for (int i = 0; i < 10; i++) {
int num = input.nextInt();
numbers.add(num);
}
for (int i = 0; i < numbers.size(); i++) {
if (numbers.get(findMin(numbers)) == i) { // If the 'smallest' index value is equal to i.
System.out.println(numbers.get(i) + " <== Smallest number");
} else {
System.out.println(numbers.get(i));
}
}
}
public static int findMin(ArrayList<Integer> n) {
int min = 0; // Get value at index position 0 as the current smallest.
for (int i = 0; i < n.size(); i++) {
if (n.get(i) < min) {
min = i;
}
}
return min;
}
}
當前的代碼有什麼問題?你問如何刪除現有的循環?如果是這樣,你應該自己嘗試一下,當你遇到一個特定的錯誤時問一個問題。 – 2013-03-18 03:13:40
沒有for循環,do-while循環,沒有while循環,只有當這些語句是我的教授設置的參數時,我真的很難迴歸到我沒有真正理解的地步。我最初發布的代碼是所有循環,但我不知道如何遞歸地接近它。 – 2013-03-18 03:34:43