写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:a,b,c “不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
a<b<c
两边之和大于第三边:a+b>c
两边之差小于第三边:c-a<a
import java.util.Arrays; import java.util.Scanner; public class 三角形判断 { public static int[] side; public static void main(String[] args) { side=new int[3]; Scanner input=new Scanner(System.in); try { side[0]=input.nextInt(); side[1]=input.nextInt(); side[2]=input.nextInt(); Arrays.sort(side); triangle(side[0],side[1],side[2]); } catch (IllegalArgumentException e) { e.getMessage(); e.printStackTrace(); }catch (Exception e) { e.printStackTrace(); }finally { input.close(); } } public static void triangle(int a,int b,int c)throws Exception{ if((a+b>c)&&(a-b<c)) System.out.println("可以构成三角形"); else throw new IllegalArgumentException("三条边不能构成三角形"); } }
运行结果: