Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1566707
  • 博文数量: 113
  • 博客积分: 3526
  • 博客等级: 中校
  • 技术积分: 1815
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-08 09:46
个人简介

记录总结自己的工作

文章分类

全部博文(113)

文章存档

2015年(19)

2014年(10)

2013年(6)

2012年(16)

2011年(24)

2010年(21)

2009年(17)

分类: Java

2014-12-09 16:26:06

    突然记起考研时上机测试的一道编程题,要把矩阵旋转90,180,270度并输出,当时比较紧张答得不是很理想,所以花几分钟重新写了一个测试的例子


点击(此处)折叠或打开

  1. public class Test {

  2.     public static void main(String[] args) {
  3.         int src[][] = new int[5][5];
  4.         for (int i = 0; i < 5; i++) {
  5.             for (int j = 0; j < 5; j++) {
  6.                 src[i][j] = i * 5 + j + 1;
  7.             }
  8.         }
  9.         prientArrayp(src);
  10.         prientArrayp(rotate(src, 90));
  11.         prientArrayp(rotate(src, 180));
  12.         prientArrayp(rotate(src, 270));
  13.     }

  14.     static int[][] rotate(int[][] src, int degree) {
  15.         System.out.println("rotate" + degree);
  16.         int temp[][] = new int[5][5];
  17.         switch (degree) {
  18.         case 90:
  19.             for (int i = 0; i < 5; i++) {
  20.                 for (int j = 0; j < 5; j++) {
  21.                     temp[i][4 - j] = src[j][i];
  22.                 }
  23.             }
  24.             break;
  25.         case 180:
  26.             for (int i = 0; i < 5; i++) {
  27.                 for (int j = 0; j < 5; j++) {
  28.                     temp[4 - i][4 - j] = src[i][j];
  29.                 }
  30.             }
  31.             break;
  32.         case 270:
  33.             for (int i = 0; i < 5; i++) {
  34.                 for (int j = 0; j < 5; j++) {
  35.                     temp[4 - i][j] = src[j][i];
  36.                 }
  37.             }
  38.             break;
  39.         }

  40.         return temp;
  41.     }

  42.     private static void prientArrayp(int[][] p) {
  43.         for (int i = 0; i < 5; i++) {
  44.             for (int j = 0; j < 5; j++) {
  45.                 System.out.print(p[i][j]);
  46.                 System.out.print(" ");
  47.                 if (p[i][j] < 10) {
  48.                     System.out.print(" ");
  49.                 }
  50.             }
  51.             System.out.println();
  52.         }
  53.         System.out.println();
  54.     }

  55. }
    运行程序输出结果如下:





阅读(2151) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~