java吧 关注:1,295,377贴子:12,831,467
  • 5回复贴,共1

求助帖在线等

只看楼主收藏回复

char chs[]=new char[5];
for(int i= 0;i<5;i++){
chs[i] =(char)(Math.random()*25+65);
怎么写,需求是出5个随机的字母不能重复,我这个是重复的,不重复怎么写,最好是接我这个写。


IP属地:福建1楼2014-09-07 19:09回复
    我这个可以出5个字母但是会重复怎么弄不重复的


    IP属地:福建2楼2014-09-07 19:10
    回复
      2026-01-21 21:49:11
      广告
      不感兴趣
      开通SVIP免广告
      for循环里面缺少重复判断。。。
      public class RandomCharGet
      {
      public static void main(String[] args)
      {
      // 声明字符数组
      char chs[]=new char[5];
      // 字符数组个数标记
      int n = 0;
      // 存储随机字符的临时变量
      char temp;
      //
      do {
      // 获取随机字符
      temp =(char)(Math.random()*25+65);
      int i;
      for (i = 0; i < n; i++)
      {
      // 判断该字符是否已存在
      if(chs[i] == temp)
      break;
      }
      // 如不存在,则加入到字符数组中
      if (i == n)
      {
      chs[n++] = temp;
      }
      }while(n < 5); // 判断是否已读入5个字符
      // 输出字符数组
      for (char e:chs)
      {
      System.out.println(e);
      }
      }
      }


      3楼2014-09-07 20:12
      回复
        内层一个for循环,if判断,如果和之前的数有相同就把i--


        来自Android客户端4楼2014-09-07 22:17
        回复
          我是大水大水大水水水……


          IP属地:广东来自iPhone客户端5楼2014-09-07 22:52
          回复


            来自Android客户端6楼2014-09-07 22:57
            回复