第十周java作业--异常
来源:互联网 发布:mac有道词典离线词库 编辑:程序博客网 时间:2024/06/10 22:02
练习一:
写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:a,b,c “不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
package exceptionDemo01;import java.lang.reflect.Array;import java.util.Arrays;import java.util.Scanner;public class Test { public static void main(String[] args) { // TODO Auto-generated method stub int a,b,c; System.out.println("请输入三个整数:"); Scanner input = new Scanner(System.in); a = input.nextInt(); b = input.nextInt(); c = input.nextInt(); triangle(a,b,c); } public static void triangle(int a,int b,int c) throws IllegalArgumentException{ int[] number = {a,b,c};//这里用数组是为了方便排序,省的自己冒泡 Arrays.sort(number);//从小到大排序,例:输入5 1 7,则输出1 5 7 /* * 因为这里拍好序了,所以只需要满足 * 最大的值-第二大的值 < 最小的值 * 最小的值+第二小的值 > 最大的值 */ if (number[0]+number[1] > number[2] && number[2]-number[1] < number[0]) { System.out.println(a+" "+b+" "+c); System.out.println("可以构成三角形"); }else{ System.out.println("a="+a+",b="+b+",c="+c+"不能构成三角形"); throw new IllegalArgumentException(); } }}
运行截图:
练习二:
从命令行输入5个整数,放入一整型数组,然后打印输出。要求:
如果输入数据不为整数,要捕获输入不匹配异常,显示“请输入整数”;如果输入数据多余5个,捕获数组越界异常,显示“请输入5个整数”。
无论是否发生异常,都输出“感谢使用本程序!”
package exceptionDemo02;import java.util.Scanner;public class Test { public static void main(String[] args) { // TODO Auto-generated method stub int[] a = new int[5]; System.out.println("请输入一组整数:"); Scanner input = new Scanner(System.in); String str = input.nextLine(); /* * 通过空格字符来将输入的一行数据分割成一个String类型的数组 */ String[] b = str.split(" "); try { for (int i = 0; i < b.length; i++) { a[i] = Integer.parseInt(b[i]);//将String类型的数据转换成int类型的 } } catch (NumberFormatException e) { // TODO Auto-generated catch block //大概的汉语意思是数字格式错误异常 System.out.println("请输入整数"); e.printStackTrace(); } catch (ArrayIndexOutOfBoundsException e) { // TODO: handle exception System.out.println("数组越界:请输入5个整数"); e.printStackTrace(); }finally{ System.out.println("感谢使用本程序!"); } }}
运行截图:
说明:
这里当输入1 2 3等少于5个整数的时候程序正常运行,可以在自己定义个异常,当数组b的长度小于5的时候抛出
阅读全文
0 0
- 第十周java作业--异常
- 第十周java作业
- 第十周java作业
- 第十周作业:上机练习题--异常处理
- 11.1第十周java作业
- 第十一周java作业
- JAVA第十四周作业
- JAVA 第十次作业
- 第十一周java作业
- 第十四周java作业
- 第十周作业
- 第十周作业 1
- 第十周作业
- 第十周作业
- 第十周作业一
- 第十周作业 1
- 第十周作业一
- 第十周作业2
- Colossal Fibonacci Numbers! UVA
- win10下python3.6安装numpy,scipy,matplotlib
- 数据结构上机实验三:二叉树
- python 多进程
- 上机练习题——接口
- 第十周java作业--异常
- Java异常机制与 finally 与return的关系;
- 机器学习(一):SVM
- Qt第一个问题:Could not create directory
- K:NAT原理与NAT穿越
- Blog16@linux存储设备的管理(1)—挂载
- Python入门笔记
- 初学HTTP
- jdbc访问数据库详解