随机26个字母,不能重复,得到需要多少次才能输出26个字母

import java.util.Random;
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.Map.Entry;
import java.util.Collection;
import java.util.HashSet;

/*

大神看下我的代码有什么错误

*/

public class zimu {
public static void main(String[] args) {
 Random r=new Random();
 HashSet arr=new HashSet();
 int g=0;
 Map<Integer,Character>map=new HashMap<Integer,Character>();
 for (int i = 0; i<26;i++) {
  int temp=r.nextInt(26);
  char x=(char)((temp%26)+65);
  if(arr.contains(x)==true)
  {
  i=0;
  g++;
  arr.clear();
  }else
  {arr.add(x); map.put(i,x);
  }
 }
 Set<Integer> keys=map.keySet(); 
 for (Integer i : keys) {
    System.out.println(i+"--"+map.get(i));
 } 
 System.out.println(g+"次");
}
}


冉冉说
浏览 954回答 1
1回答

慕尼黑8549860

你不觉得这个多少次很依赖运气吗&nbsp; 运气好它一次不重复的给你输出来,运气不好要穷尽所有可能结果才能完全输出,额,不对,万一它就一直随机那几个已输入的几个字母呢? 比如已经输出A-Y了,最后一个Z它死活没有随机到,那么不就会一直执行吗&nbsp; &nbsp;我没看代码,我是看标题评论的&nbsp; (*/ω\*)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python