用java面对对象计算三角形面积
时间: 2023-05-20 18:03:17 浏览: 88
可以使用以下代码来计算三角形的面积:
```
public class Triangle {
private double base;
private double height;
public Triangle(double base, double height) {
this.base = base;
this.height = height;
}
public double getArea() {
return 0.5 * base * height;
}
}
// 在主函数中调用
Triangle triangle = new Triangle(5, 10);
double area = triangle.getArea();
System.out.println("三角形的面积为:" + area);
```
这段代码中,我们定义了一个 Triangle 类,它有两个属性:底边和高,以及一个计算面积的方法 getArea()。在主函数中,我们创建了一个 Triangle 对象,并调用它的 getArea() 方法来计算面积。最后,我们将结果打印出来。
相关问题
用Java面向对象编程生成三角形,圆,矩形的面积和周长
好的,让我来回答你的问题。即使我没有办法确定你是谁或者你的具体要求,我还是可以为你提供一个Java面向对象的解决方案。
首先,我们需要定义一个Shape类作为基类,然后在其上派生三角形,圆和矩形的子类。每个子类都有自己的方法来计算面积和周长,这些方法将在其父类Shape上进行实现。
以下是样例代码:
```
abstract class Shape {
abstract double getArea();
abstract double getPerimeter();
}
class Triangle extends Shape {
double base;
double height;
double side1;
double side2;
double side3;
public Triangle(double base, double height, double side1, double side2, double side3) {
this.base = base;
this.height = height;
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
public double getArea() {
return 0.5 * base * height;
}
public double getPerimeter() {
return side1 + side2 + side3;
}
}
class Circle extends Shape {
double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
class Rectangle extends Shape {
double width;
double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
public double getArea() {
return width * height;
}
public double getPerimeter() {
return 2 * (width + height);
}
}
public class Main {
public static void main(String[] args) {
Triangle triangle = new Triangle(5, 3, 4, 3, 5);
System.out.println("Triangle area: " + triangle.getArea());
System.out.println("Triangle perimiter: " + triangle.getPerimeter());
Circle circle = new Circle(3);
System.out.println("Circle area: " + circle.getArea());
System.out.println("Circle perimiter: " + circle.getPerimeter());
Rectangle rectangle = new Rectangle(5, 4);
System.out.println("Rectangle area: " + rectangle.getArea());
System.out.println("Rectangle perimiter: " + rectangle.getPerimeter());
}
}
```
在这段代码中,我们定义了Shape抽象类和其子类Triangle,Circle和Rectangle。
一个Shape只是一个抽象概念,不能实际被创建。 Shape子类都重写了getArea()和getPerimeter()方法。 在main方法中,我们创建了一个Triangle对象,一个Circle对象和一个Rectangle对象,并调用它们各自的getArea()和getPerimeter()方法来显示它们的面积和周长。
提醒:记得在你自己的代码中对错误进行处理,确保输入有合理的值以计算正确的结果。加油!
java用多态计算三角形和圆的面积和周长实验分析讨论
多态是面向对象编程中的一个重要概念,它允许不同的对象以相同的方式响应同一个消息或方法调用。在计算三角形和圆的面积和周长时,可以使用多态来实现。
首先,创建一个抽象类Shape,它包含两个抽象方法,分别用于计算面积和周长:
```
public abstract class Shape {
public abstract double getArea();
public abstract double getPerimeter();
}
```
接下来,创建两个子类Triangle和Circle,它们分别继承Shape类并实现其抽象方法:
```
public class Triangle extends Shape {
private double a, b, c;
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
public double getArea() {
double p = (a + b + c) / 2;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
public double getPerimeter() {
return a + b + c;
}
}
public class Circle extends Shape {
private double r;
public Circle(double r) {
this.r = r;
}
public double getArea() {
return Math.PI * r * r;
}
public double getPerimeter() {
return 2 * Math.PI * r;
}
}
```
现在,可以用多态来计算三角形和圆的面积和周长。例如:
```
Shape s1 = new Triangle(3, 4, 5);
System.out.println("Triangle area: " + s1.getArea());
System.out.println("Triangle perimeter: " + s1.getPerimeter());
Shape s2 = new Circle(2);
System.out.println("Circle area: " + s2.getArea());
System.out.println("Circle perimeter: " + s2.getPerimeter());
```
在这个例子中,s1和s2都是Shape类型的变量,但它们分别指向Triangle和Circle对象。当调用s1和s2的getArea和getPerimeter方法时,实际上会调用Triangle和Circle类中的对应方法,从而实现了多态。
总的来说,使用多态可以让代码更加灵活和可扩展,使得我们可以方便地处理不同类型的对象并以相同的方式调用它们的方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)
![](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)