Java三角形有关面积及周长的计算
import java.util.Scanner;
//创建三角形的类 成员方法(判断能否构成三角形,以及计算三角形的面积和周长),如果输入错误 可重新输入
class Triangle {
double x;
double y;
double z;
double c = 0;
double area = 0;
public boolean judge(double x,double y,double z) {
if ((x + y > z )&& (x + z > y) && (z + y > x))
{
return true;
} else {
return false;
}
}
public void area(double x,double y,double z) {
boolean g=true;
double d;
if (g==judge(x,y,z)) {
c = x + y + z;
d=c/2;
area = Math.sqrt(d * (d- x) * (d- y) * (d- z));
System.out.println("面积为:"+area);
System.out.println("周长为:"+ c);
}
else
{
System.out.println("输入不能构成三角形,请重新输入!");
}
}
}
//测试类
public class 三角形的AP型{
public static void main(String[] args) {
System.out.println("请输入三个数字,来构成一个三角形:");
Scanner sc = new Scanner(System.in);
double x = sc.nextDouble();
double y = sc.nextDouble();
double z = sc.nextDouble();
boolean s;
//创建对象
Triangle td = new Triangle();
td.judge(x,y,z);
td.area(x,y,z);
//分割线
System.out.println("-------------------分割线---------------------");
//再次给值
s=td.judge(x,y,z);
while(s==false)
{
Scanner sd = new Scanner(System.in);
double a = sd.nextDouble();
double b = sd.nextDouble();
double c = sd.nextDouble();
td.area(a,b,c);
System.out.println("-------------------分割线---------------------");
s=td.judge(x,y,z);;
}
}
}
输出
请输入三个数字,来构成一个三角形:
3
4
5
面积为:6.0
周长为:12.0
-------------------分割线---------------------
如果输入不能构成三角形会连续输入,直到能够构成三角形为止
请输入三个数字,来构成一个三角形:
5
10
2
输入不能构成三角形,请重新输入!
-------------------分割线---------------------
3
4
5
面积为:6.0
周长为:12.0
-------------------分割线---------------------