Oo緣來是你oO


          posts - 120,comments - 125,trackbacks - 0
          ??????????????????????????????????????????????蛇行填數

          顯示效果如下:

          1 ???? ? 3 ???? ? 4 ????

          2 ??? ?? 5 ????? 8
          ????

          6 ??? ? 7 ???? ? 9



          package ?Test;

          import
          ?java.io.BufferedReader;
          import
          ?java.io.IOException;
          import
          ?java.io.InputStreamReader;

          public ? class
          ?Main?{
          ????
          public ? static ? void ?main(String[]?args)? throws
          ?NumberFormatException,
          ????????????IOException?{
          ????????System.out.println(
          " 請輸入數組的大小: "
          );
          ????????BufferedReader?br?
          = ? new ?BufferedReader( new
          ?InputStreamReader(System.in));
          ????????
          int ?arraySize? =
          ?Integer.parseInt(br.readLine());
          ????????
          int [][]?a? = ? new ? int
          [arraySize][arraySize];
          ????????
          int ?row? = ? 0
          ;
          ????????
          int ?number? = ? 1 ;???????? // ?準備填充的數字

          ???????? int ?snakeLine? = ? 0 ;???? // ?snakeLine代表斜行(蛇行)數,由于snakeLine將會用于數組下標的計算,所以從0開始計數

          ????????
          for ?(;?snakeLine? < ? 2 ? * ?arraySize? - ? 1 ;?snakeLine ++ )?{
          ????????????
          if ?(snakeLine? < ?arraySize)? // ?左上半部分

          ????????????{
          ????????????????
          if ?(snakeLine? % ? 2 ? != ? 0 )? // ?奇數斜行

          ????????????????{
          ????????????????????
          for ?(row? = ?snakeLine;?row? >= ? 0 ;?row --
          )
          ????????????????????????a[row][snakeLine?
          - ?row]? = ?number ++
          ;
          ????????????????}?
          else
          ?{
          ????????????????????
          for ?(row? = ?snakeLine;?row? >= ? 0 ;?row --
          )
          ????????????????????????a[snakeLine?
          - ?row][row]? = ?number ++
          ;
          ????????????????}
          ????????????}?
          else ?{? // ?右下半部分

          ???????????????? if ?(snakeLine? % ? 2 ? != ? 0 )?{
          ????????????????????
          for ?(row? = ?arraySize? - ? 1 ;?row? > ?snakeLine? - ?arraySize;?row --
          )
          ????????????????????????a[row][snakeLine?
          - ?row]? = ?number ++
          ;
          ????????????????}?
          else
          ?{
          ????????????????????
          for ?(row? = ?arraySize? - ? 1 ;?row? > ?snakeLine? - ?arraySize;?row --
          )
          ????????????????????????a[snakeLine?
          - ?row][row]? = ?number ++
          ;
          ????????????????}
          ????????????}
          ????????}

          ????????System.out.println(
          " Result?as?follows:\n "
          );
          ????????
          for ?(row? = ? 0 ;?row? < ?arraySize;?row ++
          )?{
          ????????????
          for ?(number? = ? 0 ;?number? < ?arraySize;?number ++ )?{? // ?number此處作為數組的下標使用

          ????????????????System.out.print(a[row][number]? + ? " \t " );
          ????????????}
          ????????????System.out.println();
          ????????????System.out.println();
          ????????}
          ????}
          }




          馬嘉楠
          jianan.ma@gmail.com

          posted on 2006-11-09 13:24 馬嘉楠 閱讀(493) 評論(0)  編輯  收藏 所屬分類: SoureCode
          主站蜘蛛池模板: 台湾省| 南充市| 临朐县| 南城县| 沽源县| 七台河市| 大理市| 古浪县| 鸡西市| 成安县| 五指山市| 崇州市| 定安县| 漳浦县| 桐乡市| 和硕县| 八宿县| 全南县| 正镶白旗| 定边县| 什邡市| 怀安县| 清远市| 南宫市| 巴彦县| 芦山县| 章丘市| 宁河县| 讷河市| 林甸县| 郸城县| 仲巴县| 温州市| 微山县| 丹江口市| 沂水县| 承德市| 广安市| 登封市| 宁晋县| 天水市|