誰かが私のコーディングでこれらのエラーが発生している理由を教えてもらえますか? thearray[count++]
は私にエラーを与え続けています。私はしばらくそれに固執してきた。いくつかの指針がいいだろう。ここで多形性に問題がある
は私の主な方法です。
public class Circle {
private double radius;
public Circle() {
radius = 1.0;
}
public Circle(double newRadius) {
radius = 1.0;
setRadius(newRadius);
}
public void setRadius(double newRadius) {
if(newRadius > 0) {
radius = newRadius;
}
else {
System.out.println("Error: "
+ newRadius + " is a bad radius value.");
}
}
public double getRadius() {
return radius;
}
public double getArea() {
return radius * radius * Math.PI;
}
}
、ここでは私のShapeクラスである:ここで
public class Project5 {
private Shape [] thearray = new Shape[100];
public static void main (String [] args) {
Project5 tpo = new Project5();
tpo.run();
}
public void run() {
int count = 0;
thearray[count++] = new Circle(20, 20, 40);
thearray[count++] = new Triangle(70, 70, 20, 30);
thearray[count++] = new Rectangle(150, 150, 40, 40);
for (int i = 0; i < count; i ++) {
thearray[i].display();
}
int offset = 0;
double totalarea = 0.0;
while (thearray[offset] != null) {
totalarea = totalarea + thearray[offset].area();
offset++;
}
System.out.println("The total area for " + offset + " Shape objects is " + totalarea);
}
}
は私Circle
クラスです
abstract class Shape{
int x = 1;
int y = 1;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Shape(int x, int y) {
this.x = x;
this.y = y;
}
public void display() {
}
public abstract double area();
}
私は私の三角形を投稿するだろうし、四角形のクラスではありますが、これは少なくとも私がどこを乱しているかを説明するのに十分であると思いました。
どのようなエラーが表示されますか? – Mark
サークルを3つの引数をコンストラクタで作成していますが、Circleクラス自体でコンストラクタは1つの引数しか受け取りません – mdewit
こんにちはエンリケはCircle、Rectangle、Triangleクラスで3つまたは4つの引数を受け入れるパラメータ化されたコンストラクタです。 – Pradeep