java将矩阵旋转45度输出
2015-07-31 08:38
369 查看
例如:
思路如上图:
在菱形之外的都是空格,菱形之内(可以使用函数判断)有两种点,一种是有字符,一种是空格
可以发现,有字符的位置(col-row)%2 == 0;接下来寻找45度菱形和矩形的对应关系,row’=(col-row)/2 ,col’=col-row’
完整代码如下:
A B C D E F G H I J K L M N O P Q R S T U V W X Y E D J C I O B H N T A G M S Y F L R X K Q W P V U
思路如上图:
在菱形之外的都是空格,菱形之内(可以使用函数判断)有两种点,一种是有字符,一种是空格
可以发现,有字符的位置(col-row)%2 == 0;接下来寻找45度菱形和矩形的对应关系,row’=(col-row)/2 ,col’=col-row’
完整代码如下:
public class PrintMatrixTrans45degree { public static void main(String[] args) { System.out.println("Hello World!"); int c=0; char[][] arr = new char[5][5]; for(int i = 0 ; i < 5; i++){ for(int j = 0; j < 5; j ++){ arr[i][j]= (char)('A' + c); c++; } } for(int i = 0 ; i < 5; i++){ for(int j = 0; j < 5; j ++){ System.out.print(arr[i][j]+" "); } System.out.println(); } for(int i = 4; i >= -4; i--){ int row = 0; int col = 0; for(int j = 0; j <= 8 ; j ++){ if(isArea(i,j)){ if((j-i)%2 == 0){ //打印字母 row = (j - i)/2; col = j - row; System.out.print(arr[row][col]); }else{ System.out.print(" "); } }else{ //打印空格 System.out.print(" "); } } System.out.println(); } } public static boolean isArea(int row , int col){ if(row <= col && row >= col - 8 && row >= -col && row <= -col + 8 ){ //System.out.println("("+row+","+col+")"); return true; } return false; } }
相关文章推荐
- iBatis开发详解(5)-----------分页(Struts、freeMark)
- 实例讲解Java批量插入、更新数据
- 在Eclipse中配置NDK自动编译环境builders
- 006--struts2标签库
- java 使用 集合 制作学生管理系统
- Struts2架构分析和运行机制
- java工具类(一)之服务端java实现根据地址从百度API获取经纬度
- java工具类(一)之服务端java实现根据地址从百度API获取经纬度
- Eclipse里项目名有红叉,但是底下的每一个文件都没有红叉
- java的if语句用法总结及总结
- Java RandomAccessFile文件操作详解
- java培训 2015-07-30
- (二)八中基本数据类型
- (一)java变量
- 11_Eclipse中演示Git版本的创建,历史版本的修改,创建分支,合并历史版本和当前版本
- 转:java实现三个线程A B C,A线程打印A之后才能B线程打印B,然后接着C线程执行打印C,继而循环下去
- js中java式的类成员
- struts框架中的result
- Spring3.2与Struts2的整合环境
- Struts2学习笔记(二)数据驱动与struts.xml配置