triangle.java

来自「大学java作业源程序」· Java 代码 · 共 86 行

JAVA
86
字号
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 + =
减小字号Ctrl + -
显示快捷键?