【问题标题】:Instantiate an ArrayList of Circles实例化一个 ArrayList of Circles
【发布时间】:2022-12-18 08:16:39
【问题描述】:

所以问题基本上是说使用 for 循环将 10 个圆添加到 ArrayList,每个圆的随机半径在 2-5 范围内,并打印 ArrayList 中所有圆的表格。您可以使用 System.out.println(String.format("%.3f", this.getRadius));将圆尺寸打印到小数点后 3 位。但这是如何工作的。

public class CirclesDriver
{
    public static void main(String[] args) {
        Random rand = new Random();
        // ** Variables constants and objects **
        Scanner scanner = new Scanner(System.in);
        ArrayList<Circle> circles = new ArrayList<>();

        // ** load the array list with circles **
        for (int i = 0; i <= 10; i++) {
            Circle circle = new Circle();
            double radius = rand.nextDouble(5) + 2;

        }
        
        // print the whole list
        
        System.out.println("--------------------------------\n");
        
        // ** Make sure your Circle class and ArrayList work with the following driver code **
        System.out.println();
        
        Circle c1 = new Circle();
        System.out.println("C1: " + c1.getID());
        System.out.println("Radius: " + c1.getRadius());
        System.out.println("--------------------------------\n");
        
        c1.setRadius(1.5);
        System.out.println("C1: " + c1.getID());
        System.out.println("Radius: " + c1.getRadius());
        System.out.println("Area: " + c1.getArea());
        System.out.println("--------------------------------\n");
        
        circles.get(3).setRadius(2.2);
        System.out.println("C1: " + circles.get(3).getID());
        System.out.println("Radius: " + circles.get(3).getRadius());
        System.out.println("Diameter: " + circles.get(3).getDiameter());
        System.out.println("--------------------------------\n");
        
        Circle c2 = circles.remove(9);
        System.out.println("C2: " + c2.getID());
        System.out.println("Radius: " + c2.getRadius());
        System.out.println("Circumference: " + c2.getCircumference());
        System.out.println("--------------------------------\n");
        
        // ** output
        
        // ** closing message **
        System.out.println("\nend of program");

【问题讨论】:

  • 为什么Scanner

标签: java arraylist associations parallel-arrays javahelp


【解决方案1】:

此代码创建一个名为 circles 的圆 ArrayList,并使用 for 循环将 10 个 Circle 对象添加到列表中。使用 Random 类将每个圆的半径设置为 2-5 范围内的随机值。然后,代码打印列表中每个圆的信息,包括圆的 ID 和半径。

下面是代码的详细分解:

该代码从 Java API 导入 Scanner 和 ArrayList 类并创建一个 Random 对象:

public class CirclesDriver
{
    public static void main(String[] args) {
        Random rand = new Random();
        // ** Variables constants and objects **
        Scanner scanner = new Scanner(System.in);
        ArrayList<Circle> circles = new ArrayList<>();
    }
}

for 循环用于创建 10 个 Circle 对象并将它们添加到 circles 列表中。使用 Random 对象的 nextDouble 方法将每个圆的半径设置为 2-5 范围内的随机值:

// ** load the array list with circles **
for (int i = 0; i <= 10; i++) {
    Circle circle = new Circle();
    double radius = rand.nextDouble(5) + 2;
}

代码打印圆列表中每个圆的信息,包括圆的 ID 和半径。这是使用 Circle 类的 getID 和 getRadius 方法完成的:

// print the whole list

System.out.println("--------------------------------
");

// ** Make sure your Circle class and ArrayList work with the following driver code **
System.out.println();

Circle c1 = new Circle();
System.out.println("C1: " + c1.getID());
System.out.println("Radius: " + c1.getRadius());
System.out.println("--------------------------------
");

该代码使用 Circle 类的 setRadius 方法将列表中第三个圆的半径设置为新值,然后打印更新后的圆半径:

circles.get(3).setRadius(2.2);
System.out.println("C1: " + circles.get(3).getID());
System.out.println("Radius: " + circles.get(3).getRadius());

该代码使用 ArrayList 类的 remove 方法从列表中删除第十个圆,然后打印有关删除的圆的信息:

Circle c2 = circles.remove(9);
System.out.println("C2: " + c2.getID());
System.out.println("Radius: " + c2.getRadius());

最后,代码输出一条关闭消息:

// ** closing message **
System.out.println("
end of program");

【讨论】:

    猜你喜欢
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2023-03-15
    相关资源
    最近更新 更多