下面的代码应该读取一些数字,并将“<==最小数字”放在最小数字旁边。我这里有什么问题吗?似乎不起作用!每次似乎都会分配错误的数字作为最小值。
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;
}
}
最佳答案
if (numbers.get(findMin(numbers)) == i) { // If the 'smallest' index value is equal to i.
通过调用 numbers.get()
,您可以获取 i
处插槽的值。
关于Java - 查找最小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8398639/