dabocaiqq
2020-05-22 17:20
采纳率: 66.6%
浏览 117

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

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

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

    打赏 评论
  • DariusEle 2020-05-22 17:23

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

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

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

    打赏 评论
  • 源来有你_ 2020-05-23 11:01

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

    打赏 评论

相关推荐 更多相似问题