问题是:
代码
public class temp02 {
public static void consoledisplay(int [] array){
for (int a = 0; a < array.length; a++)
System.out.println("Value of array index "+a+" is "+array[a]);
System.out.println("");
}
public static int [] higherNumbers(int[] array, int numbers){
// needed codes here
return array;
}
public static void main (String[] args) {
int [] x = new int[10];
x[0] = 55;
x[1] = 27;
x[2] = 23;
x[3] = 22;
x[4] = 55;
x[5] = 56;
x[6] = 33;
x[7] = 21;
x[8] = 21;
x[9] = 99;
consoledisplay(x);
x = higherNumbers(x,4);
consoledisplay(x);
}
}
当前输出
数组索引0的值是55
数组索引1的值是27
数组索引2的值是23
数组索引3的值为22
数组索引4的值是55
数组索引5的值是56
数组索引6的值是33
数组索引7的值是21
数组索引8的值是21
数组索引9的值是99
数组索引0的值是55
数组索引1的值是27
数组索引2的值是23
数组索引3的值为22
数组索引4的值是55
数组索引5的值是56
数组索引6的值是33
数组索引7的值是21
数组索引8的值是21
数组索引9的值是99
目标输出
数组索引0的值是55
数组索引1的值是27
数组索引2的值是23
数组索引3的值为22
数组索引4的值是55
数组索引5的值是56
数组索引6的值是33
数组索引7的值是21
数组索引8的值是21
数组索引9的值是99
数组索引0的值为9
数组索引1的值为5
数组索引2的值为0
数组索引3的值是4
答案 0 :(得分:0)
int max = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] > arr[max])
max = i;
}
return max;
答案 1 :(得分:0)
试试这个
public static int[] higherNumbers(int[] array, int numbers) {
int tempArr[] = Arrays.copyOf(array, array.length);
Arrays.sort(tempArr);
int retArr[] = new int[numbers];
int j = 0;
for (int i = array.length - numbers; i < array.length; i++) {
for (int x = 0; x < array.length; x++) {
if (array[x] == tempArr[i]) {
retArr[j] = x;
break;
}
}
j++;
}
return retArr;
}
答案 2 :(得分:0)
使用以下代码,它将起作用
public static int[] higherNumbers(int[] array, int numbers) {
int tempArr[] = Arrays.copyOf(array, array.length);
Arrays.sort(tempArr);
int retArr[] = new int[numbers];
int j = 0;
for (int i = array.length - numbers; i < array.length; i++) {
for (int x = 0; x < array.length; x++) {
if (array[x] == tempArr[i]) {
if(checkIndex(retArr,x)){
continue;
}else{
retArr[j] = x;
break;
}
}
}
j++;
}
return retArr;
}
private static boolean checkIndex(int[] indexArr, int index){
boolean status = false;
for(int i=0; i<indexArr.length; i++){
if(index == indexArr[i]){
status = true;
break;
}
}
return status;
}