廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3800 個閱讀者
 
<< 上頁  1   2  >>(共 2 頁)
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
pt730907
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x26 鮮花 x99
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

我將問題發生點與解決辦法寫在註解裡....
你自己去看看吧.....
複製程式
public class E9430068{
        public static void main (String[] args){
              double week [] []={{18.2,17.3,15.0,13.4,0},
                             {23.8,25.1,20.6,17.8,0},
                             {20.6,21.5,18.4,15.7,0}};  //所輸入的質,後面之所以會多各0是為了補足AVG/4的不足
              String n[] ={"早上","中午","晚上"};
              
              System.out.println("未排序");
              System.out.println("時段"+"\t"+"星期一"+"\t"+"星期二"+"\t"+"星期三"+"\t"+"星期四"+"\t"+"平均氣溫");
              System.out.println("------"+"\t"+"------"+"\t"+"------"+"\t"+"------"+"\t"+"------"+"\t"+"--------");
              for(int i=0;i<week.length;i++){
               double avg=0;  //先宣告平均數
               System.out.print(n[ i ]+"\t");
               for(int j=0;j<week[ i ].length-1;j++){   //因為前面有字串有補0,所以要減回來
                System.out.print(week[ i ][j]+"\t");
                avg+=week[ i ][j];  //宣告平均數的加總        
               }        
               week[ i ][4]=avg/4;
               System.out.println(week[ i ][4]);   //avg/ 後面為天數
              }
              do       //要加一個迴圈...沒加的話則泡沫排序只排序一次
                 {
                            for (int k=week.length-1;k>=0;k--)
                            {
                                   for (int l=0;l<=week.length-1;l++)       //這邊有錯....k需改成week.length-1
                                   {                         
                                          if (week[k][l] > week[k][l+1])//當原數值大於後數值時
                                          {                             //進行交換
                                                                                             //這邊也有錯....k+1需改成l+1    
                                                 double temp=week[k][l];
                                                 week[k][l] = week[k][l+1];
                                                 week[k][l+1] = temp;                                                    
                                          }
                                   }             
                            } 
                 }while(week[0][0] > week[0][1]);//由於你是main函式包含所有功能,
              //所以無法使用遞迴(recursive),只好用這個有點偷吃步的方式解決了...
              System.out.println();  //此為空行
              System.out.println("排序後");
              System.out.println("時段"+"\t"+"星期一"+"\t"+"星期二"+"\t"+"星期三"+"\t"+"星期四"+"\t"+"平均氣溫");
              System.out.println("------"+"\t"+"------"+"\t"+"------"+"\t"+"------"+"\t"+"------"+"\t"+"--------");       
              
              for (int k=0;k<week.length;k++){
              System.out.print(n[k]+"\t");
              for (int l=0;l<week[k].length;l++)        
              System.out.print(week[k][l]+"\t");
              System.out.println();
           }                         
         }
       } 



獻花 x0 回到頂端 [10 樓] From:台灣中華電信 | Posted:2006-01-16 19:12 |

<< 上頁  1   2  >>(共 2 頁)
首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.071164 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言