dabocaiqq 2020-05-22 17:20 采纳率: 63.1%
浏览 120
已采纳

高分悬赏: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 需要类型转换

    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 神经网络建立应力预测模型
  • ¥20 反编译一款APP手游,解密出lua脚本。
  • ¥15 改一下,代码,让代码符合要求
  • ¥15 报错问题,只有两个错误,如图片所示,i多次初始化
  • ¥15 matlab runtime 如何收费
  • ¥15 Tpad api账户 api口令
  • ¥30 ppt进度条制作,vba语言
  • ¥15 生信simpleaffy包下载
  • ¥15 在二层网络中,掩码存在包含关系即可通信
  • ¥15 端口转发器解析失败不知道电脑设置了啥