所以我有这个问题,
课程圈
Class TestCircle:
创建一个包含10个半径为1.0,2.0,...,10.0的圆的数组。
打印每个圆圈的区域和周长。
检索并打印已实例化的圈数。
我的代码是:
public class Circle {
public double radius= 0.0;
public int counter;
public Circle (double radius){
this.radius = radius;
counter++;
}
public Circle (){
}
public void setRadius (double radius){
this.radius = radius;
}
public double getRadius (){
return radius;
}
public double Area (){
return 3.14*radius*radius;
}
public double Circumference (){
return 2*3.14*radius;
}
}
public class TestCircle {
public static void main (String args []){
Circle [] arr = new Circle [10];
System.out.println ("The circumference" + arr.Circumference());
System.out.println ("The area" + arr.Area());
System.out.println ("The number of circles" + arr.counter);
}
}
我的问题是: 我该如何创建10个不同半径的圆形对象并将其添加到数组中? 我知道这个想法是通过使用for循环将对象添加到数组中,但我无法将半径添加到进程中。
谢谢。
答案 0 :(得分:0)
创建for循环,遍历每个数组单元格。然后,您创建一个新的Circle
对象并调用其setRadius
函数。然后,将数组Cell设置为等于Circle
对象,并继续迭代直到数组填满。
此外,您的计数器应该是静态的(由Fildor更正)。考虑将radius
设置为私有,看看你放入getter / setter。
答案 1 :(得分:0)
您的代码可能会更改
public class Circle {
private double radius;
private static int numberOfCircles = 0;
public Circle (double radius){
this.radius = radius;
numberOfCircles++;
System.out.println("The circumference : " + getCircumference());
System.out.println("The area : " + getArea());
}
public double getRadius (){
return radius;
}
public double getArea (){
return 3.14*radius*radius;
}
public double getCircumference (){
return 2*3.14*radius;
}
public static int getNumberOfCirclesCreated(){
return numberOfCircles;
}
}
public class TestCircle {
public static void main (String args []) {
Circle [] circles = new Circle [10];
for(int counter=0;counter< circles.length;counter++){
circles[counter]=new Circle((double)(counter+1));
}
System.out.println("Number of circles : " + Circle.getNumberOfCirclesCreated());
}
}