作者Elly (●A利 ●A你)
看板java
标题Re: [问题] 骰子问题
时间Sun Oct 31 00:06:22 2010
不能连续推文=口="
※ 引述《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)
1F:推 keeperkai:而且第二loop抽到145~150就divide by zero 了 orz... 10/31 02:01