java二维数组怎么相邻相加

ID:18336 / 打印
在 java 中,对二维数组相邻元素求和的步骤包括:遍历二维数组查找相邻元素;将元素与相邻元素相加并存储在临时变量中;将相加结果更新到原元素中。

java二维数组怎么相邻相加

Java 二维数组相邻元素相加

在 Java 中,可以按照以下步骤对二维数组的相邻元素进行相加:

1. 遍历二维数组

使用嵌套循环遍历二维数组的所有元素。外层循环遍历行,内层循环遍历列。

立即学习“Java免费学习笔记(深入)”;

for (int i = 0; i < matrix.length; i++) {     for (int j = 0; j < matrix[0].length; j++) {         // 这里放置对元素的处理逻辑     } }

2. 查找相邻元素

对于每个元素,查找其上下左右的相邻元素。对于边缘元素,不存在某些相邻元素,需要进行特殊处理。

int left = j - 1; int right = j + 1; int top = i - 1; int bottom = i + 1;  // 检查边缘元素的边界 if (left < 0) left = 0; if (right >= matrix[0].length) right = matrix[0].length - 1; if (top < 0) top = 0; if (bottom >= matrix.length) bottom = matrix.length - 1;

3. 相加

将元素与其相邻元素相加,并存储在临时变量中。

int sum = matrix[i][j] + matrix[top][j] + matrix[bottom][j] + matrix[i][left] + matrix[i][right];

4. 更新元素

将相加结果更新到原元素中。

matrix[i][j] = sum;

示例代码

下面是一个示例代码,展示了如何对二维数组的相邻元素求和:

import java.util.Arrays;  public class AdjacentSum {     public static void main(String[] args) {         int[][] matrix = {             {1, 2, 3},             {4, 5, 6},             {7, 8, 9}         };          for (int i = 0; i < matrix.length; i++) {             for (int j = 0; j < matrix[0].length; j++) {                 // 查找相邻元素                 int left = j - 1;                 int right = j + 1;                 int top = i - 1;                 int bottom = i + 1;                  // 检查边缘元素的边界                 if (left < 0) left = 0;                 if (right >= matrix[0].length) right = matrix[0].length - 1;                 if (top < 0) top = 0;                 if (bottom >= matrix.length) bottom = matrix.length - 1;                  // 相加                 int sum = matrix[i][j] + matrix[top][j] + matrix[bottom][j] + matrix[i][left] + matrix[i][right];                  // 更新元素                 matrix[i][j] = sum;             }         }          // 打印结果         for (int[] row : matrix) {             System.out.println(Arrays.toString(row));         }     } }
上一篇: 二维数组怎么动态扩容JAVA
下一篇: JAVA怎么把两个数组交换

作者:admin @ 24资源网   2024-11-26

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。