java吧 关注:1,184,753贴子:12,587,105
  • 3回复贴,共1

如何只用math.random随机打印出数组里的所有13个元素,不能重复

只看楼主收藏回复

这样的数组{"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A" }
求解 稍微贴一小段代码就好


1楼2016-09-10 16:21回复
    前面用int,,,后面用char强制转换


    IP属地:上海来自iPhone客户端2楼2016-09-10 16:34
    回复
      String array[] = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A" };
      LinkedList<String> list = new LinkedList<>();
      for (String value : array) {
      list.add(value);
      }
      while (list.size() > 0) {
      double b = Math.random() * list.size();
      int index = (int) b;
      System.out.print(list.remove(index) + " ");
      }


      3楼2016-09-10 16:46
      回复
        定义一个字符串数组,作为用来随机获取字符的数据池
        String [] pool={"1","2","3"....."A"};
        定义一个bool数组,用来标记池中数据是否被取过;
        定义一个结果数组,用来存放结果;
        whie(true)循环取数据,如果标记false,放入结果,bool数组中对应值改为true;如果标记为true,continue回到循环口;
        当结果数组取满后,退出循环;
        ;


        IP属地:河南4楼2016-09-10 16:49
        回复