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 馬嘉楠 閱讀(498) 評論(0)  編輯  收藏 所屬分類: SoureCode
          主站蜘蛛池模板: 四会市| 太仓市| 繁昌县| 盐池县| 尼玛县| 林州市| 咸阳市| 鄂伦春自治旗| 海兴县| 新丰县| 织金县| 谢通门县| 称多县| 佛教| 渭源县| 疏勒县| 东方市| 茶陵县| 偃师市| 怀远县| 玛多县| 龙山县| 阳谷县| 凤台县| 南郑县| 西昌市| 广德县| 永胜县| 兴化市| 万宁市| 唐海县| 景德镇市| 东乌| 垦利县| 湘潭县| 苗栗县| 青河县| 屯留县| 长春市| 吉林省| 通河县|