You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java for循环中为每个迭代数值应用数学公式?

问题分析与解决方案

你的核心问题是打印Radius和Area的代码不在循环体内部——虽然每次循环都计算了对应半径的面积,但只有最后一次循环的结果被循环外的打印语句输出了。

修正后的代码示例

把输出Radius和Area的逻辑放到for循环内部,这样每次迭代都会执行计算并输出对应结果:

for (int i = 3; i <= 5; i++) {
    double radius = i; // 建议局部变量声明在循环内,避免外部变量干扰
    double area = Math.PI * radius * radius;
    System.out.println(radius);
    System.out.println("Radius: " + radius);
    System.out.println("Area: " + area);
}

为什么之前的尝试没解决问题

不管换forEach还是while循环,你都没调整输出语句的位置——只要输出逻辑在循环外面,就只会拿到最后一次循环的变量值。把计算和输出都放进循环体,每一次迭代都会独立执行完整的计算+输出流程。

输出效果

运行修正后的代码,会得到你期望的输出:

3
Radius: 3.0
Area: 28.274333882308138
4
Radius: 4.0
Area: 50.26548245743669
5
Radius: 5.0
Area: 78.53981633974483

内容的提问来源于stack exchange,提问作者NobleRuckus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 07:36:20