问题描述
当前,我正在尝试在数组中找到最小值。用户输入要创建的数组,然后程序应查找最小值。我尝试使用max_int值找到他的最小值,但是我没有任何成功。如何在数组中找到最小值?
public class Recursion {
public static int findMin(int[] array,int index,int min) {
int smallest = Integer.MAX_VALUE;
for (int i = 0; i < array.length; i++) {
if (array[i] < smallest) {
smallest = array[i];
}
return findMin(array,index,min);
}
return smallest;
}
}
解决方法
根据您的描述,您只需要在数组中找到最小值,因此您无需对此问题使用递归。以下是对完成此工作的原始代码的改编。
public static int findMin(int[] array) {
int smallest = Integer.MAX_VALUE;
for (int i = 0; i < array.length; i++) {
if (array[i] < smallest) {
smallest = array[i];
}
}
return smallest;
}
如果您可以使用Stream
界面,则可以使用一个衬纸来解决此问题。
public static int findMin(int[] array) {
return Arrays.stream(array).min().getAsInt();
}
,
为什么不只找到分钟?
public static int findMin(int[] arr) {
int min = Integer.MAX_VALUE;
for (int a : arr)
min = Math.min(min,a);
return min;
}
甚至:
public static int findMin(int[] arr) {
return Arrays.stream(arr).min().getAsInt();
}