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

Java如何循环遍历Circle对象数组并输出面积、周长等计算结果

现有代码问题说明
  • Circle类的带参构造不符合需求:需求要求接收单个double类型的radius参数,你当前写的是接收double数组的构造,无法直接传入单个半径值创建对象
  • 未按要求创建Circle对象数组:当前代码全程只使用了默认构造生成的c1对象,所有输出的圆参数都是半径1的结果,和你定义的circlesRad数组里的数值没有关联
  • 输出逻辑冗余:radius等于1的分支里重复写了面积周长的输出逻辑,代码冗余
修正后的完整代码
class Circle {
    double radius;
    // 默认构造方法,半径设为1
    public Circle() {
        this.radius = 1;
    }
    // 带参构造方法,接收radius参数赋值
    public Circle(double radius) {
        this.radius = radius;
    }
    // 计算面积
    public double computeArea(){
        return Math.PI * radius * radius;
    }
    // 计算周长
    public double computeCircumference() {
        return Math.PI * 2 * radius;
    }
}

public class TestCircle {
    public static void main(String[] args) {
        // 定义5个不同的半径值
        double[] radii = {1, 34, 56, 23, 93};
        // 创建Circle对象数组
        Circle[] circles = new Circle[radii.length];
        
        // 遍历半径数组,逐个创建Circle对象存入数组
        for (int i = 0; i < radii.length; i++) {
            circles[i] = new Circle(radii[i]);
        }
        
        // 迭代Circle数组,输出对应信息
        for (Circle circle : circles) {
            System.out.println("===== Circle信息 =====");
            System.out.println("半径:" + circle.radius);
            System.out.println("面积:" + circle.computeArea());
            System.out.println("周长:" + circle.computeCircumference());
            // 判断是否为单位圆
            if (circle.radius == 1) {
                System.out.println("This is a unit circle");
            }
        }
    }
}
核心实现逻辑说明
  • 首先按需求修正Circle类的带参构造,支持传入单个半径值创建对象
  • 在main方法中先定义需要用到的5个半径值,再创建对应长度的Circle对象数组
  • 第一轮遍历半径数组,用每个半径值创建Circle对象存入数组,完成对象数组的初始化
  • 第二轮遍历Circle对象数组,对每个对象调用方法计算面积、周长输出,同时判断当前对象的radius属性是否为1,符合条件则额外输出单位圆提示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:36:03