byte a=0;
a=1+(byte)(Math.random());
报错:不能从int转换为byte。
为什么?应该没有溢出吧。
编码方式上有错误,正确写法如下:
byte a = 0;
a = (byte)(Math.random() + 1);
因为“1+(byte)(Math.random())”的返回值类型为int。
David 发表于2017-04-06 13:24
你好,能麻烦简略地说一下, 1+(byte)(Math.radom())的返回值为什么是int型的原理或机理吗?