Math.random转换为int类型注意

public class RandomGenerator {
    private static char[] alphabet= {
      'a','b','c','d','e','f','g',      
      'h','i','j','k','l','m','n',
      'o','p','q','r','s','t',
      'u','v','w','x','y','z'
    };


    public static String StringGenertor(int length) {
        String temp="";

        for(int i=0;i<length;i++) {
            int random=(int) Math.floor(Math.random()*26);
            temp=temp+alphabet[random];
        }
        return temp;
    }
}

以上是一个随机的指定长度的字母生成器
用Main方法测试:


public class hello {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
          System.out.println("use floor:="+Math.floor(Math.random()*10));
          for(int i=0;i<10;i++)
            System.out.println((int)Math.random()*10);
    }

}

你会发现,随机值转换为int值一直为0

use floor:=5.0
0
0
0
0
0
0
0
0
0
0

所以此时bug就解决了。再次运行生成器,可以产生随机数字。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值