学习完一维数组,再进行多维数组的学习会更加容易。多维数组可以解决更为复杂的问题,在用法上与一维数组也有很多类似的地方。下面先从二维数组的基本用法展示开始讲解,然后再进行升级。
示例一:二维数组的基本操作。
运行效果如图所示:
实现的源代码如下:
package Blog;
import java.util.Scanner;
public class blogTryProject {
//二维数组基本操作
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[][] matrix = new int[5][5];
System.out.println(matrix.length+" rows and "
+matrix[0].length+" columns");
//随机产生5*5数组
for(int row = 0;row < matrix.length;row++){
for(int columns = 0;columns < matrix[row].length;columns++){
matrix[row][columns] = (int)(Math.random()*20);
System.out.printf("%3d ",matrix[row][columns]);
}
System.out.println();
}
//按列求和
for(int columns = 0;columns < matrix[0].length;columns++){
int total = 0;
for(int row = 0;row < matrix.length;row++)
total += matrix[row][columns];
System.out.println("Sum for column "+columns+" is "+total);
}
//按行求和
for(int row = 0;row < matrix.length;row++){
int total = 0;
for(int columns = 0;columns < matrix[row].length;columns++)
total += matrix[row][columns];
System.out.println("Sum for row "+row+" is "+total);
}
//求最大的一行
int maxSum = 0;
int indexOfMax = 0;
for(int columns = 0;columns < matrix[0].length;columns++){
maxSum += matrix[0][columns];
}
for(int row = 1;row < matrix.length;row++){
int maxThisRow = 0;
for(int columns = 0;columns < matrix[0].length;columns++)
maxThisRow += matrix[row][columns];
if(maxThisRow > maxSum){
maxSum = maxThisRow;
indexOfMax = row;
}
}
System.out.println("Row "+indexOfMax+" has the maximun sum of "+maxSum);
//随意打乱数组的元素
for(int row = 1;row < matrix.length;row++){
for(int columns = 0;columns < matrix[0].length;columns++){
int i = (int)(Math.random()*matrix.length);
int j = (int)(Math.random()*matrix[i].length);
int temp = matrix[row][columns];
matrix[row][columns] = matrix[i][j];
matrix[i][j] = matrix[row][columns];
}
}
//打印打乱后的数组元素
f

本文通过五个示例深入探讨Java中多维数组的应用,包括二维数组的基本操作、寻找二维空间距离最短的点对、三维数组猜生日游戏、模拟评卷系统计算学生成绩排名以及九宫格验证算法。每个示例都有详细的运行效果展示和源代码解析。
&spm=1001.2101.3001.5002&articleId=41850941&d=1&t=3&u=2f5a0c70094b43c8bf6db5f06752582d)
2144

被折叠的 条评论
为什么被折叠?



