📄 triangle.java
字号:
package problem_8;
//Triangle.java
//三角形类,继承图形类
public class Triangle extends Graphics{
private double sideA; //A边
private double sideB; //B边
private double sideC; //C边
private boolean isValid; //三角形是否存在
public Triangle(String color, double weight, double sideA, double sideB, double sideC){
super(color, weight);
if(sideA + sideB > sideC && sideA + sideC > sideB && sideC + sideB > sideA){ //三角形存在
this.sideA = sideA;
this.sideB = sideB;
this.sideC = sideC;
isValid = true;
}
else{ //三角形不存在
this.sideA = 0;
this.sideB = 0;
this.sideC = 0;
isValid = false;
}
}
//返回三角形是否存在
public boolean isTriangleValid(){
return isValid;
}
//返回A边长
public double getSideA(){
return sideA;
}
//返回B边长
public double getSideB(){
return sideB;
}
//返回C边长
public double getSideC(){
return sideC;
}
//设置三条边长
public void setSideLength(double sideA, double sideB, double sideC){
this.sideA = sideA;
this.sideB = sideB;
this.sideC = sideC;
if(sideA + sideB > sideC && sideA + sideC > sideB && sideC + sideB > sideA){ //三角形存在
this.sideA = sideA;
this.sideB = sideB;
this.sideC = sideC;
isValid = true;
}
else{ //三角形不存在
this.sideA = 0;
this.sideB = 0;
this.sideC = 0;
isValid = false;
}
}
//抽象计算周长函数的实现
public double calculatePerimeter(){
if(isValid == true)
return sideA + sideB + sideC;
else
return 0;
}
//抽象计算面积函数的实现
public double calculateArea(){
if(isValid == true){
double cosB;
double sinB;
cosB = (sideA * sideA - sideB * sideB + sideC * sideC) / 2 / sideA / sideC;
sinB = Math.sqrt(1 - cosB * cosB);
return 0.5 * sinB * sideA * sideC;
}
else
return 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -