Re: [問題] 骰子問題

看板java作者 (●A利 ●A你)時間15年前 (2010/10/31 00:06), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
不能連續推文=口=" ※ 引述《asserXD (屁股人)》之銘言: : 大家好~ 我是剛學java的新手^^" : 我有一個作業是這樣子的~ : 請丟擲一個能產生介於100到150之間的骰子連續20次,顯示這20次的點數,並計算這20次 : 點數的平均數,並符合以下的限制條件。 :   限制1:若丟出的骰子介於145到150,此次不列入點數和的計算,計算平均數,並結束 : 程式 :   限制2:若累積的點數和超過360,計算平均數,並結束程式 :   限制3:平均數的計算是丟出骰子的累積點數和除以累積的丟骰子次數 : public class Main { : public static void main(String[] args) { : int sum = 0,avg = 0 ; : for(int i = 0;i < 20;i++) : { : int a = (int)(Math.random()*51)+100; : sum += (int)(Math.random()*51)+100; 1. 不能先加再判斷,不符合限制1 2. 你在sum+=後重取的亂數是新的亂數,而不是a : if(a >= 145 && a <= 150) : { : avg = sum / i - 1; 還有我猜你是想sum/(i-1)吧,這樣你i-1本身沒括弧就錯了~ 本來想直接寫出來給你看,不過那是你作業,所以就不寫給你看了~ 建議你還是重新想,重寫吧~ 因為整個程式有些邏輯是錯的~ : } : if (sum >= 360) : { : avg = sum / i; : } : System.out.println("點數 " + a); : } : System.out.println("平均數 = "+avg); : } : } : 我寫的程式在上面....可是讀出來不符合題目需求~"~ : 請問可以麻煩跟我說問題出在哪呢?? : 位置擺放錯誤嗎?? 還是整個敘述就錯了呢?? -- 反對政府禁止月事杯進口 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.184.3.247 ※ 編輯: Elly 來自: 111.184.3.247 (10/31 00:17)

10/31 02:01, , 1F
而且第二loop抽到145~150就divide by zero 了 orz...
10/31 02:01, 1F
文章代碼(AID): #1Cp4A1Ru (java)
討論串 (同標題文章)
文章代碼(AID): #1Cp4A1Ru (java)