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

Java中创建Circle类型ArrayList及随机半径圆的添加与打印问题

解决方案

1. 先定义Circle类

首先需要确保Circle类具备半径属性、构造方法和获取半径的getter方法,这是后续操作的基础:

public class Circle {
    private double radius;

    public Circle(double radius) {
        this.radius = radius;
    }

    public double getRadius() {
        return radius;
    }
}

2. 编写CirclesDriver实现需求

以下是完整的驱动类代码,每一步都附带逻辑说明:

import java.util.ArrayList;
import java.util.Random;

public class CirclesDriver {
    public static void main(String[] args) {
        // 初始化存储Circle对象的ArrayList容器
        ArrayList<Circle> circleList = new ArrayList<>();

        // 创建Random实例,用于生成指定区间的随机半径
        Random random = new Random();

        // 循环10次,生成并添加Circle对象
        for (int i = 0; i < 10; i++) {
            // 生成2.0到5.0之间的随机半径(包含上下边界)
            double randomRadius = random.nextDouble(2.0, 5.0);
            // 实例化Circle并加入列表
            circleList.add(new Circle(randomRadius));
        }

        // 打印表格表头
        System.out.println("序号 | 半径(保留3位小数)");
        System.out.println("------------------------");

        // 遍历列表,格式化打印每个Circle的信息
        for (int i = 0; i < circleList.size(); i++) {
            Circle currentCircle = circleList.get(i);
            // 将半径格式化为3位小数
            String formattedRadius = String.format("%.3f", currentCircle.getRadius());
            // 按对齐格式打印行内容
            System.out.printf("%3d | %s%n", i+1, formattedRadius);
        }
    }
}

3. 核心逻辑拆解

  • 随机半径生成:使用Random.nextDouble(2.0, 5.0)可以直接生成[2.0, 5.0]区间的随机浮点数(Java 17及以上版本支持);如果用低版本Java,替换为2.0 + Math.random() * 3.0,生成[2.0, 5.0)区间的数值。
  • ArrayList存储对象:循环10次,每次生成半径后立即实例化Circle,调用add()方法加入列表,确保10个对象全部被正确存储。
  • 表格打印:先输出表头和分隔线,再遍历列表取出每个Circle,用String.format("%.3f", ...)将半径格式化为3位小数,配合printf实现对齐的表格样式。

关于CirclesDriver运行逻辑的说明

整个流程是线性执行的:

  1. 初始化容器:创建ArrayList用于存储Circle对象,利用其动态扩容特性避免数组长度限制问题。
  2. 生成随机半径:通过Random类生成指定区间的数值,保证随机性和区间准确性。
  3. 对象创建与存储:每次循环生成一个半径就实例化Circle,立即加入列表,确保10个对象都被正确存储。
  4. 遍历打印:按顺序取出每个Circle对象,格式化半径后打印成表格,清晰展示所有对象的属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:01:47