gpt4 book ai didi

java - 查找数组中最大元素的索引

转载 作者:行者123 更新时间:2023-12-01 16:57:33 24 4
gpt4 key购买 nike

我想编写一段代码,返回给定数组中最大元素的索引。然而,当我尝试编译时,我收到一条我似乎无法理解的消息。尽管我已经完成了错误消息告诉我的事情,但它仍然告诉我要修复它们。请帮助这位新手程序员!

<小时/>
public class largest {
int[] array = new int[10];
array[0] = 100;
array[1] = 200;
array[2] = 300;
array[3] = 400;
array[4] = 500;
array[5] = 600;
array[6] = 700;
array[7] = 800;
array[8] = 900;
array[9] = 1000;
int index;

public static void main(String args) {

for (int i=0; i<10; i++) {
if (array[i] < array[i+1]) {
index = i + 1;
} else {
index = i;
}
i++;
}
System.out.println(index);
}
}
<小时/>

下面是编译消息。

<小时/>
largest.java:3: error: ']' expected
array[0] = 100;
^
largest.java:3: error: ';' expected
array[0] = 100;
^
largest.java:3: error: illegal start of type
array[0] = 100;
^
largest.java:3: error: <identifier> expected
array[0] = 100;
^
<小时/>

所有指数都如此。

最佳答案

这种类型的初始化不能在方法之外完成:

array[0] = 100;
array[1] = 200;
array[2] = 300;
array[3] = 400;
array[4] = 500;
array[5] = 600;
array[6] = 700;
array[7] = 800;
array[8] = 900;
array[9] = 1000;

将作业移至您的主要更改中

int[] array = new int[10];

int[] array = {100,200,300,400,500,600,700,800,900,1000};

顺便说一句,除了这个编译错误之外,您的代码也没有执行它应该执行的操作。它将抛出 ArrayIndexOutOfBoundsException(因为当 i 达到 9 时 array[i+1] 将超出范围)。为了找到最大元素的索引,您必须维护一个保存当前最大值的变量,并将其与数组的所有元素进行比较。

public static void main(String args) {
int max = array[0];
index = 0;
for (int i=1; i<10; i++) {
if (array[i] > max) {
index = i;
max = array[i];
}
}
System.out.println(index);
}

关于java - 查找数组中最大元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30566118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com