【发布时间】:2021-01-08 00:28:28
【问题描述】:
我正在尝试在我的程序中交换数组中的最大值和最小值。 代码如下:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int myArray[] = new int[25];
for (int i = 0; i < myArray.length; i++) {
System.out.println("Enter a number: ");
myArray[i] = in.nextInt();
}
int maximum = maxNumber(myArray);
int minimum = minNumber(myArray);
System.out.println(Arrays.toString(myArray));
}
public static int maxNumber(int[] arr) {
int maximumValue = arr[0];
//finds the maximum value in an array
for (int a = 1; a < arr.length; a++) {
if (arr[a] > maximumValue) {
maximumValue = arr[a];
}
}
return maximumValue;
}
public static int minNumber(int[] arr) {
int minimumValue = arr[0];
//finds the minimum value in an array
for (int a = 1; a < arr.length; a++) {
if (arr[a] < minimumValue) {
minimumValue = arr[a];
}
}
return minimumValue;
}
我有两个单独的函数来查找最大值和最小值,但我一直停留在值的实际交换上。这两个函数就像我在另一个程序中使用它们一样工作,但我不确定它们是否适用于这个程序。
起初我想通过以某种方式将它们设置为彼此相等来找到它们,但这没有任何结果。
任何帮助将不胜感激。
【问题讨论】:
-
你不应该得到最大值 value 而是最大值的 index,最小值也是一样的。然后在这些索引处切换值。