練習題--JAVA實現(xiàn)二維數(shù)組對列排序

          Posted on 2007-10-19 10:28 久城 閱讀(4389) 評論(1)  編輯  收藏 所屬分類: JavaTest

          早上來公司的路上,路邊一片綠油油的小草上都披上了一身白霜。樹葉突然間變黃了,我終于完全的感覺到了,秋的氣息。

          參照:http://www.aygfsteel.com/realsmy/archive/2007/10/17/153435.html,繼續(xù)這個問題,用JAVA實現(xiàn)對二維數(shù)組的排序。順便學習了一下Comparable接口。

          /**
           *   Class Name  : YW2_Test02.java
           *   Purpose     : 對二維數(shù)組按列排序
           *
           *   
          @author realsmy
           *   
          @since 2007/10/19
           *
           *   Copyright realsmy. All rights reserved.
           
          */

          package com.neusoft.test;

          import java.util.*;

          public class YW5_Test02 {
              
          private int ary[][];
              
          private MySort mySort;
              
          // 數(shù)據(jù)初始化
              public YW5_Test02(int ary[][], MySort mySort) {
                  
          this.ary = ary;
                  
          this.mySort = mySort;
              }

              
          // 排序
              public void sort() {
                  Arrays.sort(ary, mySort);
                  printArray();
              }

              
          // 打印
              private void printArray() {
                  System.out.println(
          "---------Begin---------");
                  
          for (int[] a : ary) {
                      
          for (int i : a)
                          System.out.print(i 
          + " ");
                      System.out.println();
                  }

                  System.out.println(
          "---------End---------");
              }

              
              
          public static void main(String[] arg) throws Exception {
                  
          //int ary[][] = { {1,5,456,6,89}, {2,51,515,32,15}, {3,45,68,24,6}, {4,822,4,88,462}, {5,87,44,865,99}};
                  int ary[][] = RandomArray.GetArray(45);
                  
          new YW5_Test02(ary, new MySort(0,"asc")).sort();
                  
          new YW5_Test02(ary, new MySort(1,"asc")).sort();
                  
          new YW5_Test02(ary, new MySort(2,"desc")).sort();
                  
          new YW5_Test02(ary, new MySort(3,"asc")).sort();
                  
          new YW5_Test02(ary, new MySort(4,"desc")).sort();

              }

          }


          class MySort implements Comparator<int[]> {
              
          // 想要進行排序的列數(shù)
              private int columnNumber;
              
          // 排序方式:desc or asc
              private String order;

              
          public MySort(int columnNumber, String order) {
                  
          this.columnNumber = columnNumber;
                  
          this.order = order;
              }


              
          public int compare(int a[], int b[]) {
                  
          if ("desc".equals(order)) {
                      
          return b[columnNumber] - a[columnNumber];
                  }
           else {
                      
          return a[columnNumber] - b[columnNumber];
                  }
           

              }

          }


          class RandomArray{
              
          // 隨機生成二維數(shù)組
              public static int[][] GetArray(int row, int column) {
                  Random random 
          = new Random();
                  
          int i, j;
                  
          int[][] array;
                  
          if ((row > 0&& (column > 0))
                      array 
          = new int[row][column];
                  
          else
                      array 
          = new int[1][1];
                  
          for (i = 0; i < array.length; i++)
                      
          for (j = 0; j < array[i].length; j++{
                          array[i][j] 
          = random.nextInt(100);
                      }

                  
          return array;
              }

          }

          Comparable接口第一次接觸,感覺很好。

          歡迎來訪!^.^!
          本BLOG僅用于個人學習交流!
          目的在于記錄個人成長.
          所有文字均屬于個人理解.
          如有錯誤,望多多指教!不勝感激!

          Feedback

          # re: 練習題--JAVA實現(xiàn)二維數(shù)組對列排序  回復  更多評論   

          2007-10-21 17:07 by 靜兒
          我來將你的摘要翻譯成日語,呵呵。
          朝、會社へ來た道に、もと緑な草が今白っぽくて目の前に現(xiàn)れていた。(早晨,來公司的路上,原本綠色的小草卻在我眼前呈現(xiàn)出白意。)木の葉が黃色になった、まるで瞬時に。(似乎在一瞬間,樹的葉子都變成黃色。)秋の匂いがした、私のその感じをはっきりそそられる。(秋的氣息是對我那樣的清晰)。
          是不是和你的原文有很大出入?呵呵,順便說一句:好羨慕你們學web的,可以把頁子設計的那么漂亮。我呀,學的東西太少太淺的緣故。用ps做圖片了,設計網頁什么的,總是無法把心里想表達的東西表現(xiàn)出來。天天開心。

          Copyright © 久城

          主站蜘蛛池模板: 老河口市| 房山区| 阳曲县| 淄博市| 漾濞| 营山县| 陵川县| 益阳市| 三穗县| 友谊县| 钟山县| 江口县| 米泉市| 九龙城区| 斗六市| 沧州市| 西贡区| 冀州市| 大宁县| 旅游| 紫云| 施甸县| 磐安县| 文成县| 波密县| 封开县| 额尔古纳市| 聂荣县| 钦州市| 冀州市| 鄢陵县| 麻阳| 兴化市| 崇信县| 涿州市| 资兴市| 汶川县| 蓬溪县| 昔阳县| 福清市| 县级市|