dabocaiqq
dabocaiqq
采纳率66.6%
2020-05-22 17:20 阅读 114

高分悬赏:Java语言以下表达式为什么不正确

10

int r = 10;
int area = 3.14 * 2r;
Sysmt.out.println(area);

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    wojiushiwo945you 毕小宝 2020-06-07 09:44

    2r 是数学的描述方法,省略了乘号,任何编程语言都无法识别这个运算,除非写成正确的语法 2*r 。

    点赞 2 评论 复制链接分享
  • m0_37954686 神隐的小蝴蝶 2020-05-22 17:52
    1. 3.14 * 2r这里。 2r应该加乘号
    2. 计算结果是double, 赋值给int会丢失精度,只剩下整数为

    综上: 第二句改成 double area = 3.14 * 2 * r;

    点赞 1 评论 复制链接分享
  • qq_43345230 DariusEle 2020-05-22 17:23

    3.14 * 2r;是double类型,需要强转

    点赞 评论 复制链接分享
  • qq_40721300 源来有你_ 2020-05-23 11:01

    首先 2r 应该改为 2 * r
    其次 3.14 默认double类型
    所以 高精度的double赋值给低精度的int 需要类型转换

    点赞 评论 复制链接分享

相关推荐