dabocaiqq
dabocaiqq
2020-03-26 21:23
采纳率: 66.6%
浏览 218

高分悬赏:Java语言如何生成10个互不相同的,1-10的随机数,每个数字只出现1次

高分悬赏:Java语言如何生成10个互不相同的,1-10的随机数,每个数字只出现1次

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • wd350355942
    Z_墨脱 2020-04-23 09:09
    已采纳

    public class Test {
    public static void main(String[] args) {
    int arr[] = new int[10];//10个数的数组
    for (int i = 0; i < arr.length; i++) {
    //生产一个1-20的随机数
    int index = (int)(Math.random() * 20 + 1);
    arr[i] = index;//把随机数赋值给下标为数组下标为i的值

    //(遍历数组中储存进去的值,i中有几个值则循环几次)
    for (int j = 0; j < i; j++)
    {
    //把储存在数组中的值j 和 随机出的值i 做比较
    if (arr[j] == arr[i])
    {
    i--; //数组的值下标-1,i的循环次数回到上次
    break;
    }
    }
    }
    for (int i = 0; i < arr.length; i++)
    {
    System.out.print(arr[i] + " ");
    }
    }
    }

    点赞 评论
  • sanshizhang
    sanshizhang 2020-03-27 09:15

    package com.test;

    import java.util.HashSet;
    import java.util.Random;
    import java.util.Set;

    /**

    • Java语言如何生成10个互不相同的,1-10的随机数,每个数字只出现1次
    • @author zhanglei
    • @date 2020/03/27
      */
      public class Test5 {

      public static void main(String[] args) {
      // TODO Auto-generated method stub
      Set sets = new HashSet();
      Random r = new Random();
      while(sets.size()<10) {
      Integer next = r.nextInt(10);//
      if(!sets.contains(next)) {
      sets.add(next);
      }
      }
      //print
      int i=1;
      for(Integer item:sets) {
      System.out.println("第"+(i)+"个元素是:"+item);
      i++;
      }

      }

    }
    //console

    第1个元素是:0
    第2个元素是:1
    第3个元素是:2
    第4个元素是:3
    第5个元素是:4
    第6个元素是:5
    第7个元素是:6
    第8个元素是:7
    第9个元素是:8
    第10个元素是:9

    点赞 评论

相关推荐