我提过个思路,首先要构建一个三角形类,然后流程如下:
1、输入三角形的3边a、b、c,用循环做,输入不符合要求就继续,符合就跳出循环(需要写一个读取函数,读取时判断是否数字)
2、输入三个边长后判断3个边长是否能构成三角行(需要写一个判断能否构成三角形的函数)
3、计算三角形面积并输出(根据输入的三个边长计算面积并输出)
import java.util.Scanner;
public class Triangle
{
/**
* @param args
*/
private double x,y,z,circle,area;
public Triangle()
{
x=0;
y=0;
z=0;
}
public void setTriangle(double a,double b,double c)
{
x=a;
y=b;
z=c;
}
public void showInfo()
{
double min,max,mid;
min=Math.min(Math.min(x,y),z);
max=Math.max(Math.max(x, y), z);
if(x==min||x==max)
{
if((y==min)||(y==max))
{
mid=z;
}
else
{
mid=y;
}
}
else {
{
mid=x;
}
}
try
{
if((max-minmax))
{
System.out.println("三角形的三边长为:");
System.out.println("x="+x+" "+"y="+y+" "+"z="+z);
}
else
{
new NotTriangleException();
}
}
catch (Exception e)
{
// TODO: handle exception
e.printStackTrace();
}
}
public void getArea()
{
circle=(x+y+z)/2;
area=Math.sqrt(circle*(circle-x)*(circle-y)*(circle-z));
System.out.println("三角形的面积是:"+area);
}
class NotTriangleException
{
public NotTriangleException()
{
System.out.println("不能构成三角形!");
}
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
Triangle triangle=new Triangle();
double x1,y1,z1;
Scanner sc=new Scanner(System.in);
try
{
System.out.println("输入三边长:");
x1=sc.nextDouble();
y1=sc.nextDouble();
z1=sc.nextDouble();
triangle.setTriangle(x1,y1, z1);
triangle.showInfo();
triangle.getArea();
}
catch(NumberFormatException ex)
{
System.out.println("输入格式不正确!");
}
catch (Exception e)
{
// TODO: handle exception
e.printStackTrace();
}
}
}