0

这是我的数组代码:

int h = 0;
int i = 1;
while (h < a.length - 1){
    if (a[h] < a[i]){
        h++;
        i++;
    }
    if (a[h] > a[i]){
        a[i] = a[h];
        a[h] = a[i + 1];
    }
}
if (h == a.length - 1){
System.out.println(a[i]);
}

我不知道我做错了什么。我需要学校作业的答案。我在学校的计算机科学课上。

4

4 回答 4

0

尝试创建此方法

  public int max(int[] a) {
        int temp = a[0];

        for (int i = 1; i < a.length; i++) {
            if (a[i] > temp) {
                temp = a[i];
            }
        }
        return temp;
    }

在你的主要方法中

int[] a = new int[3];
        a[0]=2;
        a[1]=3;
        a[2]=54;
System.out.println("Highest value is "+ max(a));
于 2013-09-26T03:39:21.623 回答
0
int max = a[0];
int index = 0;
for (int i = 1; i < a.length; i++) {
    if (a[i] > max) {
        max = a[i];
        index = i;
    }
}
于 2013-09-26T03:41:04.540 回答
0

看看这个,我不确定你使用的是什么语言,但我会选择使用for循环而不是while

int h = 0;
int i = 0;
int v = null;
while (h < a.length - 1){
    if(v == null || v < a[i])
    {
        v = a[i];
        h = i;
    }
    i++;
}
if (v != null){
   System.out.println(v); //for value
   System.out.println(h); //highest index
   System.out.println(a[h]); //for value from array a
}
于 2013-09-26T03:28:25.160 回答
0
Arrays.sort(a);
System.out.println(a[a.length - 1]);
于 2013-09-26T04:27:34.733 回答