请定义3个重载方法完成以下要求:找出两个整型数、3个整型数和3个以上整型数中的最小值。
参考一下
public class MinValueFinder {
// 方法1:找出两个整型数中的最小值
public int findMinValue(int a, int b) {
return Math.min(a, b);
}
// 方法2:找出3个整型数中的最小值
public int findMinValue(int a, int b, int c) {
return Math.min(a, Math.min(b, c));
}
// 方法3:找出3个以上整型数中的最小值
public int findMinValue(int... values) {
int min = values[0];
for (int i = 1; i < values.length; i++) {
if (values[i] < min) {
min = values[i];
}
}
return min;
}
}
稍等,人工编写代码,稍微慢点
public class CSDNQ7920406 {
public static void main(String[] args) {
int a = 10, b = 20, c = 30, d = 40, e = 50;
int min1 = getMin(a, b);
int min2 = getMin(a, b, c);
int min3 = getMin(a, b, c, d, e);
System.out.println("两个整型数中的最小值:" + min1);
System.out.println("三个整型数中的最小值:" + min2);
System.out.println("五个整型数中的最小值:" + min3);
}
public static int getMin(int a, int b) {
return Math.min(a, b);
}
public static int getMin(int a, int b, int c) {
return Math.min(a, Math.min(b, c));
}
public static int getMin(int... nums) {
if (nums == null || nums.length == 0) {
throw new IllegalArgumentException("参数不能为空");
}
int min = nums[0];
for (int i = 1; i < nums.length; i++) {
min = Math.min(min, nums[i]);
}
return min;
}
}
上机验证:
int * const a
arr = NULL; //(×)指针的指向不可以修改
arr[0] = 100; //(√)指针指向的值可以修改