创建一个直角三角形类Triangle类,实现下列接口Ishape。两条直角边长作为Triangle类的私有成员,类中包含参数为直角边的构造方法。
函数接口定义:
请详细阅读接口和主方法中的定义和调用。
裁判测试程序样例:
import java.text.DecimalFormat;
interface Ishape {
public abstract double getArea();
public abstract double getPerimeter();
}
/*你写的代码将嵌入到这里*/
public class Main {
public static void main(String[] args) {
DecimalFormat d = new DecimalFormat("#.####");
Ishape r = new Triangle(3.1, 4.2);
System.out.println(d.format(r.getArea()));
System.out.println(d.format(r.getPerimeter()));
}
}
输入样例:
本题无输入
结尾无空行
输出样例:
在这里给出相应的输出。例如:
6.51
12.5202
结尾无空行
答案代码如下:
class Triangle implements Ishape{
private double a;
private double b;//注意根据题目要求,直角边为私有成员
public Triangle(){}//无参构造
public Triangle(double a,double b){
this.a = a;
this.b = b;
}//带参构造(参数为两直角边)
public double getArea(){
return a*b/2;
}//获取三角形面积的方法
public double getPerimeter(){
return a+b+Math.sqrt(a*a+b*b);
}//获取三角形周长的方法
}
本题主要是要注意Triangle类实现了接口Ishape,所以该类就必须重写Ishape中得到面积和周长的方法,考察的是接口的知识和创建类的知识,难度系数低