【发布时间】:2015-11-19 22:12:48
【问题描述】:
我应该创建一个名为 swap() 的静态方法,它扫描一个整数数组,该数组接受最小值和最大值并交换它们。因此,如果 max 的索引为 0,min 的索引为 3,则 index[5] = [3] now 和 index [3] = [5] now。 所以数组是由用户输入创建的:
public static int[] readInputs(int arraySize) {
System.out.print("What length is the array? ");
arraySize = console.nextInt();
int[] intArray = new int[arraySize];
for (int i = 0; i <= intArray.length - 1; i++) {
System.out.print("Enter an integer: ");
userInput = console.nextInt();
intArray[i] = userInput;
}
return intArray;
} //end of readInputs()
我应该创建另一个交换最小值和最大值的静态方法,称为 swap():
public static int[] swap(int[] intArray){
for(int index = 0; index < intArray.length; index++){
if (intArray[index] > max){
max = intArray[index];
}
if (intArray[index]<min) {
min = intArray[index];
}
}
} //end of swap()
到目前为止,我已经有了它,所以它可以找到最小值和最大值,但我不知道如何交换。
【问题讨论】:
-
不保存
max和min,而是保存最大值和最小值的索引。 -
@Manu 我不是已经这样做了吗?还是我只是存储索引的值?
-
@Shayd3 不,
max = intArray[index];是实际元素。如果要保存索引,max = index;(当然max是和int) -
@ryanyuyu 啊!好的。谢谢!现在我只需要弄清楚如何交换
-
如果数组中有几个 MIN 或 MAX 怎么办?