你这写法很皮,java面向对象,圆心就再自定义一个Point(int x,int y)的类 来代表圆心 ,然后你的问题就会迎刃而解。
a[0].centre[0]=0;好像是C#里面的写法。我在java没见过这种写法。另外,能用List ,Map 解决的别用数组,那个xx[0],xx[1]和xx[i] 的写法很硬,迟早把你坑进去。public class Circle {
private Point center;
private int r;
private static class Point {
private int x;
private int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
@Override
public String toString() {
return '{' + "x=" + x +
", y=" + y +
'}';
}
}
public void setCenter(int x, int y) {
center = new Point(x,y);
}
public void setR(int r) {
this.r = r;
}
@Override
public String toString() {
return "Circle{" +
"圆心坐标" + center.toString() +
", 圆半径=" + r +
'}';
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("需要创建几个圆:");
int number = scanner.nextInt();
List circles = new ArrayList();
for (int i = 0; i
Circle circle = new Circle();
System.out.println("输入" + (i + 1) + "个圆心x坐标:");
int x = scanner.nextInt();
System.out.println("输入" + (i + 1) + "个圆心y坐标:");
int y = scanner.nextInt();
System.out.println("输入" + (i + 1) + "个圆半径:");
int r = scanner.nextInt();
circle.setCenter(x, y);
circle.setR(r);
circles.add(circle);
}
System.out.println("------输入完成-------");
System.out.println("开始打印结果");
for (Circle circle : circles) {
int i = 1;
System.out.println("第" + i + "个圆的属性:" + circle.toString());
i++;
}
}
}