拉丁方阵
要求:实现任意阶拉丁矩阵的存储和输出
拉丁矩阵是一种规则的数值序列,例如4阶的拉丁矩阵如下所示: 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3
实现思路:声明一个变量n,代表矩阵的阶,声明和初始化一个n*n的数组,根据数据的规律,则对应的数值为(行号 + 列号 + 1),当数值比n大时,取和n的余数。 实现的代码如下:
public class ladingjuzhen {
public static void main(String[] args) {
int n = 6;
int[][] arr = new int[n][n];
int data;//数值 //循环赋值
for(int row = 0;row < arr.length;row++) {
for(int col = 0;col < arr[row].length;col++) {
data = row + col + 1; if(data <= n) {
arr[row][col] = data; } else {
arr[row][col] = data % n; } } }
//输出数组的值
for(int row = 0;row < arr.length;row++) {
for(int col = 0;col < arr[row].length;col++) {
System.out.print(arr[row][col]); System.out.print(' '); }
System.out.println();
}
} }
运行结果:
1 2 3 4 5 6 2 3 4 5 6 1 3 4 5 6 1 2 4 5 6 1 2 3 5 6 1 2 3 4 6 1 2 3 4 5
该代码中变量data存储行号+列号+1的值,每次在赋值时判别data的值是否小于等于n,根据判断的结果赋值对应数组元素的值
要求:实现任意阶拉丁矩阵的存储和输出
拉丁矩阵是一种规则的数值序列,例如4阶的拉丁矩阵如下所示: 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3
实现思路:声明一个变量n,代表矩阵的阶,声明和初始化一个n*n的数组,根据数据的规律,则对应的数值为(行号 + 列号 + 1),当数值比n大时,取和n的余数。 实现的代码如下:
public class ladingjuzhen {
public static void main(String[] args) {
int n = 6;
int[][] arr = new int[n][n];
int data;//数值 //循环赋值
for(int row = 0;row < arr.length;row++) {
for(int col = 0;col < arr[row].length;col++) {
data = row + col + 1; if(data <= n) {
arr[row][col] = data; } else {
arr[row][col] = data % n; } } }
//输出数组的值
for(int row = 0;row < arr.length;row++) {
for(int col = 0;col < arr[row].length;col++) {
System.out.print(arr[row][col]); System.out.print(' '); }
System.out.println();
}
} }
运行结果:
1 2 3 4 5 6 2 3 4 5 6 1 3 4 5 6 1 2 4 5 6 1 2 3 5 6 1 2 3 4 6 1 2 3 4 5
该代码中变量data存储行号+列号+1的值,每次在赋值时判别data的值是否小于等于n,根据判断的结果赋值对应数组元素的值