用Java写一个类是Triangle类,类中有两个成员变量bottom和high,在该类中有三个构造函数重载,一个构造函数只可以初始化高,一个构造函数只可以初始化底,一个构造函数可以初始化高和底
时间: 2023-04-10 14:01:00 浏览: 128
好的,这是一个关于Java编程的问题,我可以回答。Triangle类可以这样写:
```
public class Triangle {
private double bottom;
private double high;
public Triangle(double high) {
this.high = high;
}
public Triangle(double bottom) {
this.bottom = bottom;
}
public Triangle(double bottom, double high) {
this.bottom = bottom;
this.high = high;
}
}
```
其中,三个构造函数分别只初始化高、只初始化底、同时初始化高和底。
相关问题
java中编写一个三角形类,java 三角形类Triangle java 三角形类 Triangle的用法详解
好的,我来为你讲解如何编写一个Java三角形类Triangle。
首先,我们需要明确一个三角形需要什么属性才能被描述出来。一般来说,三角形的属性包括三个顶点和三个边长。因此,我们可以定义一个Triangle类,包含三个Point类型的成员变量表示三个顶点,以及三个double类型的成员变量表示三边长度。
接下来,我们需要编写Triangle类的构造方法和一些常用方法。比如:
1. 构造方法
```java
public Triangle(Point p1, Point p2, Point p3) {
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
// 计算三边长度
this.a = p1.distance(p2);
this.b = p2.distance(p3);
this.c = p3.distance(p1);
}
```
2. 计算周长
```java
public double getPerimeter() {
return a + b + c;
}
```
3. 计算面积
可以使用海龙公式计算三角形面积:
```java
public double getArea() {
double p = (a + b + c) / 2;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
```
4. 判断是否为等边三角形
```java
public boolean isEquilateral() {
return a == b && b == c;
}
```
5. 判断是否为等腰三角形
```java
public boolean isIsosceles() {
return a == b || b == c || c == a;
}
```
6. 判断是否为直角三角形
可以使用勾股定理判断:
```java
public boolean isRightAngled() {
return a * a + b * b == c * c || b * b + c * c == a * a || c * c + a * a == b * b;
}
```
7. 判断是否为锐角三角形
可以根据余弦定理判断:
```java
public boolean isAcuteAngled() {
return Math.cos(angleA()) > 0 && Math.cos(angleB()) > 0 && Math.cos(angleC()) > 0;
}
private double angleA() {
return Math.acos((b * b + c * c - a * a) / (2 * b * c));
}
private double angleB() {
return Math.acos((c * c + a * a - b * b) / (2 * c * a));
}
private double angleC() {
return Math.acos((a * a + b * b - c * c) / (2 * a * b));
}
```
以上就是一个简单的Java三角形类Triangle的实现。在实际使用中,还可以根据需求添加其他方法和属性。
java中一个数组有多个对象_如何在一个数组中使用不同类的对象?(Java)
在Java中,可以创建一个数组来存储不同类的对象。具体来说,你可以按照以下步骤操作:
1. 创建一个包含所有对象的共同超类或接口。
2. 创建一个数组来存储这些对象。数组的类型应该是共同超类或接口。
3. 创建不同类的对象,并将它们存储在数组中。由于数组类型是共同超类或接口,因此可以存储不同类的对象。
下面是一个示例代码,演示如何在一个数组中使用不同类的对象:
```
// 创建一个共同超类或接口
interface Shape {
void draw();
}
// 创建不同类的对象,并将它们存储在数组中
Shape[] shapes = new Shape[3];
shapes[0] = new Circle();
shapes[1] = new Rectangle();
shapes[2] = new Triangle();
// 定义不同类的对象
class Circle implements Shape {
public void draw() {
System.out.println("Drawing a circle");
}
}
class Rectangle implements Shape {
public void draw() {
System.out.println("Drawing a rectangle");
}
}
class Triangle implements Shape {
public void draw() {
System.out.println("Drawing a triangle");
}
}
// 遍历数组并调用每个对象的draw方法
for (Shape shape : shapes) {
shape.draw();
}
```
输出:
```
Drawing a circle
Drawing a rectangle
Drawing a triangle
```
在这个示例中,我们创建了一个共同超类Shape,它有一个抽象方法draw()。然后我们创建了三个不同的类Circle,Rectangle和Triangle,它们实现了Shape接口并实现了draw()方法。最后,我们创建了一个Shape类型的数组,并将不同类的对象存储在其中。我们遍历数组并调用每个对象的draw()方法,输出了每个对象所代表的形状。