这是定期如何完成的,但它必须是递归的,没有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