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);
          }
          }
          }
            回復  更多評論
            

          主站蜘蛛池模板: 浙江省| 溧阳市| 兰坪| 鹰潭市| 琼中| 绥阳县| 屏南县| 岳池县| 濉溪县| 清新县| 太保市| 盘山县| 台州市| 黎川县| 焦作市| 石狮市| 合肥市| 柏乡县| 平顺县| 本溪| 洪雅县| 庐江县| 凉城县| 额济纳旗| 东兴市| 安庆市| 同心县| 许昌市| 乐亭县| 阳信县| 合作市| 霍林郭勒市| 东阿县| 井研县| 奎屯市| 琼中| 西宁市| 张家口市| 南岸区| 新营市| 武威市|