从1至30中任意取一个数字,然后再从剩余的数字中任去一个数字 输出这两个数字(所取数字不能重复)

解决方案 »

  1.   


    Random random=new Random();
    while(true){
      int i=random.nextInt(31);
      if(i==0)
         continue;
       while(true){
         int j=random.nextInt(31);
          if(j==0||j==i)
               continue;
            System.out.println(i+"   "+ j );
       }
    }
      

  2.   

    上面没有跳出循环,这里加上
    Random random=new Random();
    outer:
    while(true){
      int i=random.nextInt(31);
      if(i==0)
         continue;
       while(true){
         int j=random.nextInt(31);
          if(j==0||j==i)
               continue;
            System.out.println(i+"   "+ j );
           break outer;
       }
    }
      

  3.   


    Random random = new Random();
    int i = 0;
    int j = 0;
    while(true){
    i = random.nextInt(31);
    if(i!=0){
    System.out.println(i);
    break;
    }
    }
    while(true){
    j = random.nextInt(31);
    if(j!=0&&j!=i){
    System.out.println(j);
    break;
    }
    }
      

  4.   

    可以从集合中取随机数,随机选出一个数后,从集合remove掉该数,再对集合取其中一随机数