java。oop 写测试三角形形状 并且使用scanner
时间: 2024-09-20 16:15:25 浏览: 9
在Java中,使用OOP(Object-Oriented Programming,面向对象编程)来编写测试三角形形状的程序,并利用`java.util.Scanner`获取用户输入,可以按照以下步骤进行:
首先,我们创建一个表示几何图形的抽象基类`Shape`,然后定义两个派生类`Triangle`和`Scanner`。这里假设`Scanner`主要用于获取用户的输入。
```java
import java.util.Scanner;
abstract class Shape {
abstract double getArea();
}
class Triangle extends Shape {
private double a, b, c; // 三角形的边长
public Triangle(double sideA, double sideB, double sideC) {
this.a = sideA;
this.b = sideB;
this.c = sideC;
}
@Override
double getArea() {
double s = (a + b + c) / 2; // 半周长
return Math.sqrt(s * (s - a) * (s - b) * (s - c)); // Heron's formula
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入三角形的三条边长:");
Triangle triangle = new Triangle(
scanner.nextDouble(),
scanner.nextDouble(),
scanner.nextDouble()
);
double area = triangle.getArea();
System.out.printf("三角形的面积为: %.2f\n", area);
scanner.close(); // 关闭扫描器
}
}
```
在这个例子中,用户通过`Scanner`输入三个边长,`Main`类实例化一个`Triangle`对象并计算其面积。注意在实际应用中,需要验证输入是否能构成有效的三角形(例如,任意两边之和大于第三边)。