今天在写一个关于随机数的小程序时,在程序执行时,发现随机数不能执行随机,随机结果始终为1. 下面贴上一开始错误的代码 int i = (int)Math.random()*3+1; 无论运行多少次,结果均为1. 原因:该行代码的运行时先执行Math.random()方法,然后执行int类型转换,而该方法的结果是生成0-1之间的double类型,因此,其在转换后只能是0,最后,在执行全部运算(0*3+1),结果始终为1. 正确代码: int i = (int)(Math.random()*3+1)…