2011年3月18日

<Java> JVA105-陣列行列轉換




(1) 提供使用者輸入陣列「列數」訊息(列數:m)
(2) 提供使用者輸入陣列「行數」訊息(行數:n)
(3) 建立m x n陣列後輸入每一列的資料內容
(4) 內容輸入完畢 輸出陣列 m x n 轉換 n x m 的內容

==============================

import java.util.*;
import java.io.*;
public class JVA105 {

  public static void main(String[] args){
   try{
      int row,col;
      int i,j;
      String tmp;
      int aryA[][];
      int aryB[][];
      BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));
  
      System.out.println("請輸入陣列列數:");
      row = Integer.parseInt(bin.readLine());
      System.out.println("每一列陣列裡要幾個數字:");
      col = Integer.parseInt(bin.readLine());
  
      aryA = new int[row][col];
      aryB = new int[col][row];
  
      for( i=0 ; i<row ; i++){
         System.out.println("請輸入第 "+ i +"列");
         tmp = bin.readLine();
         String[] strA = tmp.split(" ");
         for( j=0 ; j<col ; j++ ){
            aryA[i][j]=Integer.parseInt(strA[j]);
         }
      }
      //行列轉換
      for( i=0 ; i<row ; i++){
         for( j=0 ; j<col ; j++){
            aryB[j][i]=aryA[i][j];
         }
      }
  
      System.out.println("陣列經行列轉換結果");
      for( i=0 ; i<col ; i++){
         for( j=0 ; j<row ; j++){
            System.out.print(aryA[j][i] + " ");
         }
         System.out.println();
      }
   }catch(Exception e){
      System.out.println("請輸入數字");
      e.printStackTrace();
   }

  }
}

沒有留言:

張貼留言