Java编程异常简单代码示例

时间:2021-05-20

练习1

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

两边之和大于第三边:a+b>c
两边之差小于第三边:c-a

package 异常;import java.util.Arrays;import java.util.InputMismatchException;import java.util.Scanner;public class TestTriangle { public static void triangle(int a, int b,int c) throws IllegalArgumentException, InputMismatchException{ int x[] = new int[3]; x[0] = a; x[1] = b; x[2] = c; Arrays.sort(x); if ((x[0]+x[1]>x[2])&&(x[2]-x[1]<x[0])) System.out.println("三角形的三边长为:"+a+","+b+","+c); else throw new IllegalArgumentException(); } public static void main(String[] args) { int a=0, b=0, c=0; Scanner in = new Scanner(System.in); System.out.println("请分别输入三角形的三边长:"); try{ a = in.nextInt(); b = in.nextInt(); c = in.nextInt(); triangle(a, b, c); }catch(InputMismatchException e1){ System.err.println("请输入整数作为三角形的边长!"); e1.printStackTrace(); }catch(IllegalArgumentException e2){ System.err.println(a+","+b+","+c+"不能构成三角形"); } }}

练习2:

从命令行输入5个整数,放入一整型数组,然后打印输出。要求:

如果输入数据不为整数,要捕获输入不匹配异常,显示“请输入整数”;如果输入数据多余5个,捕获数组越界异常,显示“请输入5个整数”。

无论是否发生异常,都输出“感谢使用本程序!”

package 异常;import java.util.InputMismatchException;import java.util.Scanner;public class TestArray { public static void main(String[] args) { int a[] = new int[5]; System.out.println("请输入5个数:"); System.out.println("最后输入一个非数字结束输入操作。"); Scanner in = new Scanner(System.in); try{ int i = 0; while(in.hasNextDouble()){ a[i] = in.nextInt(); i++; } if(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("请输入整数作为数组元素!"); e1.printStackTrace(); }catch(ArrayIndexOutOfBoundsException e2){ System.err.println("请输入5个数!"); e2.printStackTrace(); }finally{ System.out.print("感谢使用本程序!"); } }}

总结

以上就是本文关于Java编程异常简单代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Java异常退出条件的判断示例代码、Java编程异常处理最佳实践【推荐】、Java编程中的检查型异常与非检查型异常分析等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章