修改后,代码变动:
static class Student
但是结果并不是想要的,序号没问题,但后面两项,年级与成绩并不是随机的
关键字:random用法
你需要先new一个random对象,然后调用它的next方法来取得随机数
你这样不停newrandom对象,那么得到的全是初始值,不是随机数
首先Math.Random() 获取到的是一个double类型的数据 范围 0-1 之间.
你的代码中做了强制类型转换, 将double类型的数据强转为了int 类型,
那么本来 0.xxxxx 的double 数据 经过强转后 会丢失精度 (去掉了小数点后边的小数) 就会变为 int 类型的 0 .
你用int 类型的 0 乘以 任何数当然都等于0 了.
我i来回答一下,那个随机数哪里运算顺序你搞一下,你是想获得随机成绩然后再来取整,所以要加括号的来完成你的目的;(int)(math.random()*100+1),不然的话先运算的是math.random()然后取整 为0, 然后0+1=1 所以就一直是1喽
(int)(math.random()*6) 这样写
(int)Math.Random()6+1 相当于 06+1 恒等于1;第二个随机也是一样的; Math.Random() 取值 大于0 小于1 ,先强转为int就等于0了;是先转换int再乘,而不是先乘 再转int