从1,2,...20 中随机取5个不同的数字
怎么用Java代码来实现 ?刚学Java,搞定了helloworld问题,现在试着做些简单的运算程序。
在线求教。感谢您的帮忙。

解决方案 »

  1.   

    import java.util.Random;public class Test {
        public static void main(String[] args) throws Exception {
            int[] ints = new int[5];
            Random random = new Random();
            for (int i = 0; i < ints.length; i++) {
                ints[i] = random.nextInt(20);
            }
            for (int i = 0; i < ints.length; i++) {
                System.out.println(ints[i]);
            }
        }
    }
      

  2.   

    for(int i=0;i<5;i++)
        {
          System.out.print((int)(Math.random()*20+1));
        }
      

  3.   

    楼上的程序有问题
    random.nextInt(20)这个方位是[0,20)
    不是从1,2,20中取到20,而且还多取了一个0
      

  4.   

    同意:windworld1982(厚积薄发、坚持不懈)
    Math.random()的范围是[0,1)
    Math.random()*20+1的范围是[1,21)
    所以取值范围是[1,20]
      

  5.   

    如果是一个数组 nums[]={1,2,3,.....20}从这个数组里随机取5个 不同 的数字
                          ~~~~
    该如何写?
      

  6.   

    import java.util.Random;public class randnu {public randnu() {
     super();}public static void main(String[] args) throws Exception { int[] nus = new int[5];
     int nu=0;
     int m=0;
     boolean t; Random random = new Random();
     nus[0]=(int) (Math.random() * 20 + 1);
     for(int i=1;i<nus.length;i++)
     {
      nu=(int) (Math.random() * 20+ 1);
      m=0; for(int a=0;a<i;a++)
     {
      if(nu==nus[a])
      {
       i--;
       m=1;
       continue;
      }
     }
     if(m==0){
      nus[i]=nu;
      }
     }
     for (int i = 0; i < nus.length; i++) {
     System.out.println(nus[i]);
     } }}
      

  7.   

    上边代码的
    import java.util.Random;
    和Random random = new Random();
    可以不要
    没注意,呵呵