java把二维数组周围数据清零_Java-java处理二维数组问题

这篇博客探讨了如何高效地将二维数组的边界数据清零。作者通过编写一个Java程序来展示处理过程,使用了逻辑判断进行操作,避免了数组转换带来的效率损失。程序中包含一个显示数组内容的方法和一个主方法,通过对随机生成的二维数组进行操作,生成了只有内部元素的子数组。最后,展示了处理前后的数组状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

个人认为,数组转数组什么的效率低下有很大一部分原因在与算法的编写,

目测来看,用源数组直接修改成目标数组会比直接生成新数组稍微复杂一些,

于是乎,写了个测试程序,大家来找茬,哈

import java.util.Random;

public class todo {

public static void showArray(int[][] array) {

int rows = array.length;

int cols = array[0].length;

for (int i = 0; i < rows; i++) {

for (int j = 0; j < cols; j++) {

System.out.printf(" " + array[i][j]);

}

System.out.println();

}

System.out.println("-----------------");

}

public static void main(String[] args) {

final int N = 10;

final int M = 4;

int[][] n = new int[N][N];

int[][] z = new int[N - N / M][N - N / M];

for (int i = 0; i < N; i++) {

for (int j = 0; j < N; j++) {

n[i][j] = new Random().nextInt(10);

}

}

showArray(n);

// [Neo] TODO

int row = 0, col = 0;

LOOP: for (int i = 0; i < N; i++) {

if (0 != (i + 1) % M) {

for (int j = 0; j < N; j++) {

if (0 != (j + 1) % M) {

z[row][col] = n[i][j];

col++;

if (z[0].length == col) {

col = 0;

row++;

if (z.length == row) {

break LOOP;

}

}

}

}

}

}

showArray(z);

}

}

没什么特别的,就是稍微复杂点的逻辑判断而已,

截图奉上:

祝好,

斑驳敬上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值