编程设计一个triangle类表示三角形,其中包括3个double型变量a、b、c表示三角形边长。为该类定义两个构造方法:默认构造方法设置三条边长都为0.0;带3个参数的构造方法通过传递参数来创建三角
时间: 2023-05-31 12:17:59 浏览: 277
### 回答1:
这是关于设计一个Triangle类表示三角形的题目,其中包括3个double类型变量a、b、c表示三角形边长。该类定义两个构造方法:默认构造方法设置三条边长都为0.0;另一个构造方法通过传递参数来创建三角形。题目要求通过传递参数的构造方法通"过传递参数的构造方法通过传递参数的构造方法创建三角形。"。
### 回答2:
编程设计一个Triangle类表示三角形,需要先了解什么是三角形。三角形是由三条线段组成,其中任意两条线段之和大于第三条线段,所以我们在定义Triangle类时需要包含三个double类型的属性a、b、c,分别表示三角形的三条边长。
它可以用如下代码定义:
```
public class Triangle {
private double a; //三角形边长a
private double b; //三角形边长b
private double c;//三角形边长c
// 默认构造方法,设置三条边长都为0.0
public Triangle() {
a = 0.0;
b = 0.0;
c = 0.0;
}
//带三个参数的构造方法,传递参数来创建三角
public Triangle(double a,double b,double c) {
this.a = a;
this.b = b;
this.c = c;
}
// get set 方法省略
}
```
当我们需要使用这个Triangle类时,可以创建一个Triangle对象。如果我们不提供参数,系统会调用默认构造方法来创建一个默认的Triangle对象。
```
Triangle t1 = new Triangle(); // 创建一个默认的Triangle对象
```
如果我们需要创建一个特定的三角形对象,我们可以通过传递三角形的三个边长参数来创建一个Triangle对象。
```
Triangle t2 = new Triangle(3.0,4.0,5.0);//创建一个边长为3,4,5的Triangle对象
```
总之,Triangle类是一个用来表示三角形的类,通过定义两个构造方法,我们可以根据实际情况来创建默认或特定的Triangle对象。
### 回答3:
编写一个 Triangle 类来表示一个三角形是一个很好的编程练习。 首先,需要创建一个 Triangle 类,包括私有成员变量 a, b, 和 c,分别表示三角形的三个边长。
类的构造方法是创建对象时首先调用的方法。题目需要定义两个构造方法:默认构造方法和带3个参数的构造方法。
默认构造方法将对象的三条边设置为 0.0,可以使用以下代码来实现:
```java
public Triangle() {
this.a = 0.0;
this.b = 0.0;
this.c = 0.0;
}
```
带 3 个参数的构造方法创建一个三角。可以使用以下代码实现:
```java
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
```
这样,就可以创建一个 Triangle 类对象并传入对应的三个边长。
编写一个计算三角形面积的方法,首先需要验证这三个边长是否能够构成一个三角形。可以使用以下代码来检查:
```java
if(a + b > c && a + c > b && b + c > a) {
// construct triangle
}
else {
// set area to 0
}
```
如果这三个边长不能构成一个三角形,面积将被设置为 0。否则,使用海伦公式计算三角形面积:
```java
double s = (a + b + c) / 2 ; // 计算半周长
double area = Math.sqrt(s * (s - a) * (s - b) * (s - c)) ;// 计算面积
```
完整的 Triangle 类代码如下:
```java
public class Triangle {
private double a, b, c;
public Triangle() {
this.a = 0.0;
this.b = 0.0;
this.c = 0.0;
}
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
public double getArea() {
if(a + b > c && a + c > b && b + c > a) {
double s = (a + b + c) / 2 ;
double area = Math.sqrt(s * (s - a) * (s - b) * (s - c)) ;
return area;
}
else {
return 0;
}
}
}
```
阅读全文