JAVA—咖啡館

          ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯系。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks
          //根據不同的難度產生隨機字母和數字
          for(int i=0; readomNumStart.length()<4; i++) {
          if(difficult == 1) {

          //產生隨機的0-9的數字
          a = String.valueOf((int)(Math.random() * 10)) ;
          }
          if(difficult == 2) {

          //在0-9和a,b,c,d中隨機產生。
          String[] readomWord = {"0","1","2","3","4","5","6","7","8","9","a","b","c","d"};
          int readomWordIndex = (int)(Math.random() * 13);
          a = readomWord[readomWordIndex];
          }
          if(difficult == 3) {

          //產生隨機的字母
          char readomLetter = (char)(Math.random ()*26+'a');
          a = String.valueOf(readomLetter) ;
          }
          if(difficult == 4) {

          //產生隨機的數字和字母的組合
          String[] readomHard = new String[20];
          int readomWordIndex = (int)(Math.random() * 19);
          for(int j=0; j<20; j++) {
          int readomWordNum = (int)(Math.random() * 10);
          char readomLetter = (char)(Math.random ()*26+'a');
          if(readomWordNum % 2 == 0) {
          readomHard[j] = readomWordNum + "";
          }else{
          readomHard[j] = String.valueOf(readomLetter);
          }
          }
          a = readomHard[readomWordIndex];
          }

          //這樣寫代碼比較短。我也參考了許多人的代碼大部分都很復雜。我不喜歡寫那么多代碼,所以就這樣寫了。還不能知道這樣寫效率有沒有問題,在我本機上運行沒有什么感覺。
          posted on 2009-05-14 11:40 rogerfan 閱讀(459) 評論(1)  編輯  收藏 所屬分類: 【Java知識】

          Feedback

          # re: 【轉】關于java產生隨機數代碼 2009-10-30 18:35 Hiri
          用不了那么長吧.
          你代碼我沒看完,太長了.哈哈
          自已寫了個.稍微驗證了下.好像還可以.
          看看吧

          public class RandomNum
          {

          private static final int first = 48;
          private static final int total = 36;
          public static void main(String args[])
          {
          for(int i=0; i<4 ; i++)
          {
          int tmp = 0;
          if((tmp = (int)(Math.random() * total + first)) > 57)
          {
          tmp += 39;
          }
          System.out.print((char)tmp);
          }
          }
          }
            回復  更多評論
            

          主站蜘蛛池模板: 遵义市| 塘沽区| 徐汇区| 鄂伦春自治旗| 南陵县| 华池县| 伊宁县| 和平县| 西宁市| 安吉县| 宣城市| 贵溪市| 新建县| 聊城市| 思南县| 武鸣县| 铜梁县| 渝中区| 西和县| 儋州市| 建瓯市| 连江县| 闵行区| 温宿县| 宜州市| 新密市| 磐安县| 和政县| 望城县| 常州市| 罗江县| 彩票| 双流县| 巍山| 武城县| 鄯善县| 昭苏县| 延庆县| 廊坊市| 西宁市| 肃北|