异常处理
来源:互联网 发布:中国移动集中优化 编辑:程序博客网 时间:2024/06/14 06:28
课堂练习1:
写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:a,b,c “不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
a<b<c
两边之和大于第三边:a+b>c
两边之差小于第三边:c-a<a
Triangle类:
publicclass Triangle {
int a,b,c;
voidjudge(int a,int b,int c)
{ try{
if((a+b>c)&&(b+c>a)&&(a+c>b))
{
System.out.printf("三角形的三边是%d,%d,%d\n",a,b,c);
}
else
{
throw newIllegalArgumentException("abc不能构成三角形。");
} }
catch(IllegalArgumentException e)
{
e.getMessage();
e.printStackTrace();
}
}
}
测试类:
importjava.util.Scanner;
publicclass Test {
publicstatic void main(String[] args) {
Triangles=new Triangle();
Scannerin=new Scanner(System.in);
System.out.println("请输入三角形的三边长:");
int a,b,c;
a=in.nextInt();
b=in.nextInt();
c=in.nextInt();
s.judge(a,b, c);
}
}
课堂练习2:
从命令行输入5个整数,放入一整型数组,然后打印输出。要求:
如果输入数据不为整数,要捕获输入不匹配异常,显示“请输入整数”;如果输入数据多余5个,捕获数组越界异常,显示“请输入5个整数”。
无论是否发生异常,都输出“感谢使用本程序!”
package j1101;
import java.util.*;
public class TestArrayException {
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("感谢使用本程序!");
}
}
}
- 异常处理+异常+处理异常+自定义异常
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- QQ客服代码移动版 腾讯QQ在wap手机页面的调用代码
- 软键盘挡住输入框问题的终极解决方案
- 浅析前端页面渲染机制
- 清澄A1025. 字符串对比
- printf不支持string类型
- 异常处理
- getWritableDatabase()和getReadableDatabase()的区别
- java hibernate 报错 参数值[1]与预期的类型[java.lang.String(n / a)]不匹配
- Druid连接池与DbUtils整合工具类
- string.IsNullOrEmpty和string.IsNullOrWhiteSpace方法的区别
- Tensorflow实现Softmax Regression识别手写数字
- (4)qt5制作简易计算器详细步骤(ui界面)
- Igor and his way to work-Codeforce 793B BFS
- 移动Web开发基础-利用VW单位适配布局