用Java创建一个直角三角形类(regular triangle)RTriangle类,实现下列接口IShape。两条直角边长作为RTriangle类的私有成员,类中包含参数为直角边的构造方法。 interface IShape {// 接口 public abstract double getArea(); // 抽象方法 求面积 public abstract double getPerimeter(); // 抽象方法 求周长 } ###直角三角形类的定义: 直角三角形类的构造函数原型如下: RTriangle(double a, double b); 其中 a 和 b 都是直角三角形的两条直角边。 裁判测试程序样例: import java.util.Scanner; 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("#.####"); Scanner input = new Scanner(System.in); double a = input.nextDouble(); double b = input.nextDouble(); IShape r = new RTriangle(a, b); System.out.println(d.format(r.getArea())); System.out.println(d.format(r.getPerimeter())); input.close(); } } 输入样例: 3.1 4.2 输出样例: 6.51 12.5202 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB
时间: 2024-01-09 19:06:10 浏览: 113
以下是实现 ISahpe 接口的 RTriangle 类的代码:
```java
class RTriangle implements IShape {
private double a;
private double b;
public RTriangle(double a, double b) {
this.a = a;
this.b = b;
}
@Override
public double getArea() {
return a * b / 2;
}
@Override
public double getPerimeter() {
double c = Math.sqrt(a * a + b * b);
return a + b + c;
}
}
```
在 main 函数中,我们首先使用 Scanner 从标准输入读取两个 double 类型的数作为直角三角形的两条直角边长,然后创建一个 RTriangle 类的对象 r,并将它赋值给 IShape 类型的变量。这样做是因为 RTriangle 类实现了 IShape 接口,因此可以将 RTriangle 类的对象赋值给 IShape 类型的变量。
接下来,我们分别调用 r 的 getArea 和 getPerimeter 方法,输出它们的返回值即可。注意,题目要求输出结果保留四位小数,因此我们在输出前使用 DecimalFormat 对象将结果格式化。完整的 main 函数代码如下:
```java
public static void main(String[] args) {
DecimalFormat d = new DecimalFormat("#.####");
Scanner input = new Scanner(System.in);
double a = input.nextDouble();
double b = input.nextDouble();
IShape r = new RTriangle(a, b);
System.out.println(d.format(r.getArea()));
System.out.println(d.format(r.getPerimeter()));
input.close();
}
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![text/x-c++](https://img-home.csdnimg.cn/images/20250102104920.png)
![text/x-c++](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)