Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在数组中查找最高值_Java_Arrays_Variables_If Statement_Printing - Fatal编程技术网

Java 在数组中查找最高值

Java 在数组中查找最高值,java,arrays,variables,if-statement,printing,Java,Arrays,Variables,If Statement,Printing,这是我的数组代码: 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]); }

这是我的数组代码:

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]);
}
inth=0;
int i=1;
而(ha[i]){
a[i]=a[h];
a[h]=a[i+1];
}
}
如果(h==a.length-1){
系统输出println(a[i]);
}

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

看看这个,我不确定你在用什么语言,但我会选择使用
进行
循环,而不是
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
}
inth=0;
int i=0;
int v=null;
而(h
尝试创建此方法

  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 max=a[0];
int指数=0;
for(int i=1;imax){
max=a[i];
指数=i;
}
}

这是一个在调试器中单步执行代码的机会。你会因此成为一个更好的程序员。您正在使用IDE吗?如果没有,请立即下载一个-它们是免费的,这是一种查找最高值的非常糟糕的方法。在Java中如何将
null
分配给
int
?您还说您更喜欢
for
而不是
while
,但是还是用了
。@HotLicks这个问题没有标记为
java
,所以我不确定他用的是什么语言。@DennisMeng因为他是编程新手,我想帮助他学会不给他解决方案。fwiw,你也可以只做
int[]a={2,3,54}
int[] a = new int[3];
        a[0]=2;
        a[1]=3;
        a[2]=54;
System.out.println("Highest value is "+ max(a));
int max = a[0];
int index = 0;
for (int i = 1; i < a.length; i++) {
    if (a[i] > max) {
        max = a[i];
        index = i;
    }
}
Arrays.sort(a);
System.out.println(a[a.length - 1]);