Java打印蛇形矩阵
来源:互联网 发布:java基础教程 毕向东 编辑:程序博客网 时间:2024/05/16 08:25
今天在论坛看见一帖子,感觉很好玩。
帖子如下:
请各位帮忙实现输入如下矩阵代码:
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16
实现代码如下:
public class Show{public static void main(String[] args) {int n=4;//方阵大小int[][] data = new int[n][n];int dire; //当前数字的移动方向final int UPRIGHT = 0; //上右final int DOWN = 1; // 下final int LEFTDOWN= 2; //左下final int RIGHT = 3;// 右dire = RIGHT;//第一次向右移动int value = 1; //数组元素的值int row = 0; //第一维下标int col = 0; //第二维下标data[0][0] = 1; //初始化第一个元素 data[n-1][n-1] = n*n;while(value < n * n-1){switch(dire){case DOWN:row++; //移动到下一行if(row>=n){ //超过边界row--; //后退dire = RIGHT;continue; //跳过该次循环}else {value++; //数值增加1data[row][col] = value;//赋值if(col==0) { dire = UPRIGHT; }else if(col==n-1){ dire = LEFTDOWN; }} break;case UPRIGHT:row--;col++; //移动到上一行,右一列if(col>=n)//超过边界{row++;col--; //后退dire = DOWN;continue; //跳过该次循环}else if(row<0){ //超过边界row++;col--; //后退dire = RIGHT; continue; //跳过该次循环 } else {value++; //数值增加1data[row][col] = value;//赋值dire = UPRIGHT;}break;case RIGHT:col++; //移动到右一列if(col>=n){ col--; //后退dire = DOWN;continue; //跳过该次循环}else {value++; //数值增加1data[row][col] = value;//赋值if(row==0) { dire = LEFTDOWN; }else if(row==n-1){ dire = UPRIGHT; }}break;case LEFTDOWN:row++;col--; //移动到下一行,左一列if(row>=n) { //超过边界row--;col++; //后退dire = RIGHT;continue; //跳过该次循环}else if(col<0)//超过边界{row--;col++; //后退dire = DOWN;continue; //跳过该次循环}else {value++; //数值增加1data[row][col] = value;//赋值dire = LEFTDOWN;}break;}}//输出数组中的元素for(int i = 0;i < data.length;i++){for(int j = 0;j < data[i].length;j++){if(data[i][j] < 10){//右对齐System.out.print(' ');}System.out.print(data[i][j]);System.out.print(' '); } System.out.println();}}}
- Java打印蛇形矩阵
- C++ 打印蛇形矩阵
- 打印输出蛇形矩阵
- 打印蛇形矩阵
- 打印蛇形矩阵
- 打印蛇形矩阵-题解
- [腾讯]打印蛇形矩阵
- 打印蛇形矩阵
- 打印蛇形矩阵
- 打印蛇形矩阵
- 打印蛇形矩阵
- 蛇形打印矩阵
- 打印蛇形矩阵
- 打印蛇形矩阵
- 打印蛇形矩阵
- 20.蛇形矩阵打印
- 不用数组打印蛇形矩阵
- (C#)打印蛇形正方形矩阵
- DB2存储过程的事务控制以及错误处理。
- Visual Studio.Net使用技巧手册---笔记
- JDBC处理大数据(存储图像、声音、二进制)
- Delphi中canvas(画布)的运用
- java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for /package
- Java打印蛇形矩阵
- Javascript的prototype的研究
- Ogre笔记二:基础教程一—场景管理器、场景节点和实体
- 用JDBC进行批处理
- Google向HTC提供专利 助其起诉Apple
- poj1523割点&&块
- VC下Debug和Release区别
- xp中iis访问错误:用户过多 解决方法
- SQLite 引用属性 文件属性如何设置!?