在线紧急求助!java编程,菜鸟求助

1、写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。

2、自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息。在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。

import java.util.Scanner;

class NotRectangleException extends Exception
{
public NotRectangleException(String msg)
{
super(msg);
}
}

class MyRectangle
{
private float x;
private float y;
private float z;

public MyRectangle()
{

}

public MyRectangle(float a, float b, float c)
{
x = a;
y = b;
z = c;
}

public void getArea()
{
try{
isRect();
}catch(NotRectangleException ne){
System.out.println("自定义异常类:" + ne.getMessage());
return;
}
float p = (x + y + z)/2.0f;
System.out.println("三角形的面积: " + Math.sqrt(p*(p-x)*(p-y)*(p-z)) + "(单位)");

}

public void showInfo()
{
try{
isRect();
System.out.println("三角形的三边分别为:x = " + x + " y = " + y + " z = " + z);
}catch(NotRectangleException ne){
System.out.println("自定义异常类:" + ne.getMessage());
}
}

public boolean isRect() throws NotRectangleException
{
if(x+y>z && x+z>y && y+z>x)
{
return true;
}
else {
throw new NotRectangleException("x = " + x + ",y = " + y + ",z = " + z + "不能构成三角形!\n");
}
}

}

public class MyRectangleTest
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("请输入三角形的三条边:");
float a = scan.nextFloat();
float b = scan.nextFloat();
float c = scan.nextFloat();
MyRectangle mr = new MyRectangle(a, b, c);
System.out.println("\n若三条边能组成的三角形->则面积: ");
mr.getArea();
System.out.println("\n显示三条边的信息: ");
mr.showInfo();
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-04
数学中能构成三角形的提案件是什么
就是任意两边之长的和必须大于第三边
根据这些条件你写一些if语句做下判断就可以了
具体的我就不写了
相似回答