已有258人关注
求助谢谢。
发表在Java答疑区 2017-04-06
是否精华
版块置顶:

byte a=0;

a=1+(byte)(Math.random());

报错:不能从int转换为byte。

为什么?应该没有溢出吧。


分享到:
精彩评论 2
David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-04-06
沙发

编码方式上有错误,正确写法如下:

byte a = 0;

a = (byte)(Math.random() + 1);

因为“1+(byte)(Math.random())”的返回值类型为int。

浅滩海贝_1490925544
学分:34 LV2
2017-04-11
板凳

David 发表于2017-04-06 13:24

编码方式上有错误,正确写法如下:

byte a = 0;

a = (byte)(Math.random() + 1);

因为“1+(byte)(Math.random())”的返回值类型为int。

你好,能麻烦简略地说一下, 1+(byte)(Math.radom())的返回值为什么是int型的原理或机理吗?

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照