导语:学习Java数组中有一个不错的案例,分享给大家,希望帮助到你们。这个方法仅仅是为了给大家一种解题思路。
这里以n = 4为例来解释一下这个回形数的案例。
说明:这个矩阵排列的数字,是一个长度等于n 的正方形,数字按照顺序沿着回形针一样的路线排列,直到最中心。
//n自由赋值,这里以n = 4为例
var n = 4;
var m = 0;
//创建二维数组
var arr = new Array(n);
for(var i = 0;i < arr.length;i++){
var arrs = new Array(n);
arr[i] = arrs;
}
//在x轴方向上的最大值和最小值
var maxX = n;//n - 1
var minX = -1;
//在y轴方向上的最大值和最小值
var maxY = n - 1;
var minY = 0;
//按照路线遍历数组,写入对应的数字
while(minX <= maxX){
for(var i = 0; i < maxX; i++){
arr[minY][++minX] = ++m;
}
maxX--;
for(var i = 0; i < maxY; i++){
arr[++minY][minX] = ++m;
}
maxY--;
for(var i = 0; i < maxX; i++){
arr[minY][--minX] = ++m;
}
maxX--;
for(var i = 0; i < maxY; i++){
arr[--minY][minX] = ++m;
}
maxY--;
}
for(var i = 0; i < n; i++){
for(var j = 0; j < n; j++){
document.write(arr[i][j] + " ");
}
document.write("<br />");
}