【发布时间】:2021-11-22 19:27:33
【问题描述】:
这不是我的一段代码,但我很想知道一些事情。
例如,如何创建三角形类的对象?在那里,将三角形边长的数组作为参数传递。但是我不知道该怎么做。即使数组在main中注册。请告诉我怎么做,我将不胜感激。
(稍后我会自己弄清楚如何使用键盘输入来做到这一点。到目前为止,只有这个问题。)
public class Polygon {
int sideLengths[];
int numSides =0;
public Polygon(int [] lengths){
sideLengths = lengths;
numSides = lengths.length;
}
public int perimeter() {
//compute perimeter
int sum = 0;
for (int i = 0 ; i < sideLengths.length ;i++) {
sum += sideLengths[i];
}
return sum;
}
//No area method.
}
public class Triangle extends Polygon {
public Triangle(int [] lengths) {
super(lengths); //duper
numSides = 3;
}
public Triangle () {
this(new int[3]);
}
//No perimeter needed
public double area (){
double s = perimeter()/2;
//Heron's formula
return Math.sqrt(s*(s- sideLengths[0])*(s- sideLengths[1])*(s - sideLengths[2]));
}
}
更新:我想出了如何为多边形类的对象调用 perimeter 方法。但是如何为三角形执行此操作?
【问题讨论】:
标签: java class inheritance