gpt4 book ai didi

java - 有没有一种方法可以将所有大于前一个数字的数字相加?

转载 作者:行者123 更新时间:2023-12-01 19:29:08 24 4
gpt4 key购买 nike

我正在尝试添加数组中大于最后检查的数字的所有数字。我收到此错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at RaySumLast.sum(RaySumLast.java:16)
at RaySumLast.main(RaySumLast.java:25)

这是我的代码:

class RaySumLast
{
static int arr[] = {-99, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5};

static int sum()
{
int sum = 0;

for (int i : arr) {
if (i < arr[i-1])
sum += i;
}
return sum;
}

public static void main(String[] args)
{
cSystem.out.println(sum());
}
}

我该如何解决这个问题?

最佳答案

您不能将数组中的用作数组的索引。即使跳过数组的初始值,只要有一个值超出界限,它就会失败,如本例所示(注意 20):

static int arr[] = {-99,1,2,3,4,5,6,7,8,9,20,5};

如果你想使用增强的for循环,你可以使用这个:

int prev = arr[0];
int sum = prev;

for (int i : arr) {
if (i > prev)
sum += i;
prev = i;
}

但是,我更喜欢使用循环索引的 @Domin0 的答案。

关于java - 有没有一种方法可以将所有大于前一个数字的数字相加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60346793/

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