**课堂练习1:
写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:a,b,c “不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
a
import java.util.Scanner;
public class Lesson6_1 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请依次输入三角形的边长");
int a=in.nextInt();
int b=in.nextInt();
int c=in.nextInt();
triangle(a,b,c);
}
static void triangle(int a,int b,int c){
try {
if((a+b)>c&&(a+c)>b&&(b+c)>a){
System.out.println("边长a:"+a+",边长b:"+b+",边长c:"+c);
}
else throw new IllegalArgumentException();
} catch (IllegalArgumentException e) {
System.out.println("a,b,c “不能构成三角形”");
}
}
}
**课堂练习2:
从命令行输入5个整数,放入一整型数组,然后打印输出。要求:
如果输入数据不为整数,要捕获输入不匹配异常,显示“请输入整数”;如果输入数据多余5个,捕获数组越界异常,显示“请输入5个整数”。
无论是否发生异常,都输出“感谢使用本程序!”**
import java.util.*;
public class Lesson6_2 {
public static void main(String[] args) {
int a[] = new int[5];
System.out.println("请输入5个数,并且以任意非数字结束");
Scanner in = new Scanner(System.in);
try{
int i = 0;
while(in.hasNextDouble()){
a[i] = in.nextInt();
i++;
}
if(i<5||i>5)
throw new ArrayIndexOutOfBoundsException();
for(int j=0;j<5;j++)
System.out.print(a[j]+" ");
System.out.println();
}catch(InputMismatchException e1){
System.err.println("请输入整数!");
}catch(ArrayIndexOutOfBoundsException e2){
System.err.println("请输入5个数!");
}finally{
System.out.print("感谢使用本程序!");
}
}
}