自己编写的一个小程序:掷骰子10次,然后出现1-6的次数各为多少?
感觉有点小出入,但应该是没啥问题
因为用到Math.random()方法,但他会出现0,有没有哪个方法是不出现0的?谢谢解答下。
class A
{
public static void main(String [] args)
{


int i=0;
int result1=0;
int result2=0;
int result3=0;
int result4=0;
int result5=0;
int result6=0;
while (i<10)
{
 int n=(int)(Math.random()*7);

System.out.println("n= "+n);
switch (n)
{
case 0: continue;
case 1: result1++;  break;
case 2: result2++;  break;
case 3: result3++;  break;
case 4: result4++;  break;
case 5: result5++;  break;
case 6: result6++;  break;

}
i++;
}

System.out.println("当骰子数为1时: "+result1);
System.out.println("当骰子数为2时: "+result2);
System.out.println("当骰子数为3时: "+result3);
System.out.println("当骰子数为4时: "+result4);
System.out.println("当骰子数为5时: "+result5);
System.out.println("当骰子数为6时: "+result6);


}
}

解决方案 »

  1.   

    int n=(int)(Math.random()*6)+1; 
      

  2.   

    那你就把 System.out.println(...);
      用个方法呀 public class void prt(String s){
                     System.out.println(s);
                }
    嘿嘿 
      

  3.   


    import java.util.Random;public class RandomTest {
    public static void main(String[] args){
    Random ran = new Random();
    int[] results = new int[6];
    for(int i=0,n=0;i<10;++i){
    n = ran.nextInt(5)+1;
    results[n-1]++;
    }

    for(int i=1;i<=6;++i){
    System.out.println("出现"+i+"的次数为:"+results[i-1]);
    }

    }
    }
      

  4.   


    import java.util.Random;public class RandomTest {
    public static void main(String[] args){
    Random ran = new Random();
    int[] results = new int[6];
    for(int i=0;i<10;++i){
    results[ran.nextInt(6)]++;
    }
    for(int i=1;i<=6;++i){
    System.out.println("出现"+i+"的次数为:"+results[i-1]);
    }
    }
    }
    更正下
      

  5.   

    Random ran = new Random();
    ran.nextInt(6)+1;这样也可以实现1-6的随机
      

  6.   


    写得很不错,谢谢
    最后根据你的代码小做修改:import java.util.Random;public class RandomTest {
        public static void main(String[] args){
            Random ran = new Random();
            int[] results = new int[6];
            for(int i=0,n=0;i<10;++i){
                n = ran.nextInt(5)+1;
                results[n-1]++;
                System.out.println("抛出的骰子号: "+n);
            }
           
            for(int i=1;i<=6;++i){
            
                System.out.println("出现"+i+"的次数为:"+results[i-1]);
            }
            
        }
    }
      

  7.   

    其中:n = ran.nextInt(6)+1;
    不然都不会得到6这个数;终于OK了