这是我的数组代码:
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]);
}
我不知道我做错了什么。我需要学校作业的答案。我在学校的计算机科学课上。
答案 0 :(得分: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
}
答案 1 :(得分: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));
答案 2 :(得分: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;
}
}
答案 3 :(得分:0)
Arrays.sort(a);
System.out.println(a[a.length - 1]);