Laz*_*olf 1 java arrays random casting rounding
尝试生成随机大小(3到20之间)的随机字符串时,我遇到了一个小问题.我有一个数组,arr其中包含从(小写)到Z(大写)的所有字符.然后我arrLength为第二个数组生成一个随机长度,该数组arr2将包含一些随机选择的字符.
我的问题是字母"a"(小写)从未出现在我随机生成的字符串中.我认为错误可能在for循环内部,但到目前为止我没有看到它.也许它与(int)铸造或Math.floor四舍五入有关?
    char[] arr = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
    int arrLength = (int) (Math.floor((Math.random() * ((17 - 3) + 1)) + 3));
    char[] arr2 = new char[arrLength];
    String str = "";
    for(int i=0;i<arrLength;i++) {
        char num = arr[(int) (Math.floor(Math.random() * (50) + 1))];
        arr2[i] = num;
    }
| 归档时间: | 
 | 
| 查看次数: | 42 次 | 
| 最近记录: |