gpt4 book ai didi

java - 总结 Java 中二维整数数组中的外部元素?

转载 作者:行者123 更新时间:2023-11-30 08:31:49 25 4
gpt4 key购买 nike

我的考试题目之一要求编写一些代码来计算二维数组外部 int 元素的总和。行长和列长不一定相等。

[编辑] 不能多次添加角值。

我想出了这个代码并且它有效,但我想知道是否有更有效的方法来实现相同的结果。谢谢。

for(int i = 0; i < in.length; i ++) {
for(int j = 0; j < in[i].length; j++) {
if(i == 0 || i == in.length - 1) {
sum += in[i][j];
}
else {
sum += in[i][in[i].length - 1 ] + in[i][0];
break;
}
}
}

最佳答案

如果我理解你的问题,那么你可以先提取一个方法来添加一个数组的元素,比如

public static int sumArray(int[] in) {
int sum = 0;
for (int val : in) {
sum += val;
}
return sum;
}

然后你可以在第一行和最后一行添加元素

int sum = sumArray(in[0]) + sumArray(in[in.length - 1]);

然后来自其他行的外部元素带有一个额外的(非嵌套)循环

for (int i = 1; i < in.length - 1; i++) {
sum += in[i][0] + in[i][in[i].length - 1];
}

或者,在 Java 8+ 中,您可以消除额外的方法和显式循环,并用一个语句来完成,例如

int sum = IntStream.of(in[0]).sum() //
+ IntStream.of(in[in.length - 1]).sum() //
+ IntStream.range(1, in.length - 1).map(i -> {
return in[i][0] + in[i][in[i].length - 1];
}).sum();

关于java - 总结 Java 中二维整数数组中的外部元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40457671/

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