定义三角形类Triangle.java
public class Triangle {
double SideA;
double SideB;
double SideC;
double p;
//判断是否是构成三角形
boolean IFTriangle(){
if(SideA+SideB>SideC && SideA+SideC>SideB && SideB+SideC>SideA) {
return true;
}
else {
return false;
}
}
//判断是什么三角形
void JudgeTriangle(){
if(SideA==SideB||SideB==SideC||SideA==SideC) {
if(SideA==SideB&&SideB==SideC) {
if((SideA*SideA)+(SideB*SideB)==(SideC*SideC))
{
System.out.println("等边直角三角形");
}
else {
System.out.println("等边三角形");
}
}
else {
if((SideA*SideA)+(SideB*SideB)==(SideC*SideC))
{
System.out.println("等腰直角三角形");
}
else {
System.out.println("等腰三角形");
}
}
}
else {
if((SideA*SideA)+(SideB*SideB)==(SideC*SideC))
{
System.out.println("直角三角形");
}
else {
System.out.println("普通三角形");
}
}
}
//计算三角形面积
double Area() {
p=(SideA+SideB+SideC)/2;
return Math.sqrt(p*((p-SideA)*(p-SideB)*(p-SideC)));
}
//计算三角形周长
double Perimeter(){
return (SideA+SideB+SideC);
}
public double getSideA() {
return SideA;
}
public void setSideA(double sideA) {
SideA = sideA;
}
public double getSideB() {
return SideB;
}
public void setSideB(double sideB) {
SideB = sideB;
}
public double getSideC() {
return SideC;
}
public void setSideC(double sideC) {
SideC = sideC;
}
}
测试TestTriangle.java
import java.util.Scanner;
public class TestTriangle {
public static void main(String[] args) {
Triangle T=new Triangle();
Scanner sc=new Scanner(System.in);
System.out.println("请输入三角形的边长:");
double Sa=sc.nextDouble();
double Sb=sc.nextDouble();
double Sc=sc.nextDouble();
T.setSideA(Sa);
T.setSideB(Sb);
T.setSideC(Sc);
boolean b=T.IFTriangle();
if(b==true) {
T.JudgeTriangle();
System.out.println("三条边为"+T.getSideA()+" "+T.getSideB()+" "+T.getSideC()+" ");
System.out.println("面积为:"+T.Area());
System.out.println("周长为:"+T.Perimeter());
}
else {
System.out.println("不能构成三角形!!!!");
}
}
}