计算二维数组最外围元素之和 Java
时间: 2024-01-14 09:04:45 浏览: 62
可以使用以下代码来计算二维数组最外围元素之和:
```java
public static int sumOuterElements(int[][] arr) {
int sum = 0;
int rows = arr.length;
int cols = arr[0].length;
// sum top row
for (int i = 0; i < cols; i++) {
sum += arr[0][i];
}
// sum bottom row
for (int i = 0; i < cols; i++) {
sum += arr[rows - 1][i];
}
// sum left column
for (int i = 1; i < rows - 1; i++) {
sum += arr[i][0];
}
// sum right column
for (int i = 1; i < rows - 1; i++) {
sum += arr[i][cols - 1];
}
return sum;
}
```
此方法首先计算顶部行和底部行的总和,然后计算左侧列和右侧列的总和,最后将这四个总和相加并返回。
相关问题
声明一个类sum,求二维数组外围各元素的和,并输出数组中各元素及所求之和
声明一个名为`SumArray`的类,我们可以定义一个方法`calculatePerimeterSum`,这个方法接受一个二维整数数组作为参数,计算并返回外围(第一行、最后一行、第一列和最后一列)的所有元素之和。同时,我们也可以在这个方法内部遍历数组并打印出每个元素。
```java
public class SumArray {
public static void main(String[] args) {
int[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 示例二维数组
int perimeterSum = calculatePerimeterSum(array);
printArrayAndSum(array, perimeterSum);
}
public static int calculatePerimeterSum(int[][] array) {
int sum = 0;
for (int i = 0; i < array.length; i++) {
if (i == 0 || i == array[0].length - 1) {
for (int j = 0; j < array[i].length; j++) {
sum += array[i][j];
}
} else {
break;
}
}
return sum;
}
public static void printArrayAndSum(int[][] array, int perimeterSum) {
System.out.println("数组元素:");
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
System.out.println("外围元素之和: " + perimeterSum);
}
}
```
在这个例子中,`main`方法首先创建了一个二维数组,然后调用`calculatePerimeterSum`获取外围元素之和,并通过`printArrayAndSum`方法打印数组内容和外围和。运行此程序将输出数组及其外围元素的总和。
7,编写程序,创建一个4x4的矩阵,矩阵的值为{{1,2,4,5},{6,7,8,9},{10,11,12,13},{14,15,16,17}},显示该矩阵。求该矩阵的外围元素之和、主对角线元素之和以
题目要求编写程序,创建一个4x4的矩阵,矩阵的值为{{1,2,4,5},{6,7,8,9},{10,11,12,13},{14,15,16,17}},显示该矩阵。求该矩阵的外围元素之和、主对角线元素之和以及次对角线元素之和。
程序实现:可采用二维数组存储矩阵,遍历数组求取相应的和值即可。具体实现可以采用不同的编程语言,比如C++、Java等。
阅读全文