任务需求:
写一个方法void triangle(int a,int b,int c),判断三个参数是否能够组成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息“a,b,c不能组成三角形”。如果可以构成,则输出三条边的边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
所需知识点:
1.异常处理机制;
2.try、catch、finally组合处理异常;
3.用throw手动抛出异常;
4.声明异常
代码如下:
package cn.demo.main;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Demo();
}
private static void Demo() {
Scanner scr = new Scanner(System.in);
System.out.println("输入三角形的三个边长:");
int number1 = scr.nextInt() ;
int number2 = scr.nextInt() ;
int number3 = scr.nextInt() ;
try{
Main.getTriangle(number1, number2, number3);
}catch(Exception e){
System.out.println("不能形成三角形的原因:"+e.toString());
}finally{
System.out.println("结束!!!");
}
}
public static void getTriangle(int number1 , int number2 , int number3){
if(number1<=0||number2<=0||number3<=0){
throw new IllegalArgumentException("a,b,c不能组成三角形!");
}else{
if((number1+number2>number3)&&(number1+number3>number2)&&(number2+number3>number1)){
System.out.println("三角形三边为:"+number1+","+number2+","+number3+"。");
}else{
throw new IllegalArgumentException("a,b,c不能组成三角形!");
}
}
}
}