JAVA异常处理作业(20121113132845)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(a+b>c&&a+c>b&&b+c>a){ System.out.println("三角形的边长分别为"+"a="+a+" "+"b="+b+" "+"c="+" "+c); } else {
System.out.println("不能构成三角形"); } if(a<0||b<0||c<0){ System.out.println("三条边不能为负"); }
this.x = a; this.y = b; this.z = c; } //面积 public double getArea() { return (1/4.0)*Math.sqrt(((x+y+z)*(x+y-z)*(x+z-y)*(y+z-x))); } //展示信息 public void showInfo() { System.out.println("边长分别为:"+x+","+y+","+z); } } class NotSanjiaoException extends Exception { public NotSanjiaoException() {
System.out.println("平方为 " + aa * aa); }
catch(StringIndexOutOfBoundsException e)Βιβλιοθήκη Baidu System.out.println("您输入的数值下标越界");
} catch(NumberFormatException nfe){ System.out.println("您输入的不是数字"); }
} catch (NumberFormatException n) {
System.out.println("请输入整数"); } catch (ArrayIndexOutOfBoundsException e) {
System.out.println("请输入至少5个整数"); }
catch (Exception e) { System.out.println(e.getMessage());
import java.util.InputMismatchException; import java.util.Scanner; class Test {
private double x; private double y; private double z; public Test(double a, double b, double c) {
} } } 3、写一个方法 void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能 则抛出异常 IllegalArgumentException,显示异常信息 a,b,c+”不能构成三角形”,如果可以构 成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异 常。 package November; import java.util.Scanner; public class Test3 {
void sanjiao() { int a;
int b; int c;
System.out.println("请输入三条边长"); Scanner reader=new Scanner(System.in); a=reader.nextInt(); b=reader.nextInt(); c=reader.nextInt();
double x = s.nextDouble(); double y = s.nextDouble(); double z = s.nextDouble(); if(!(x+y>z && x+z>y && y+z>x)) {
throw new NotSanjiaoException(); } Test sj = new Test(x,y,z); System.out.println(sj.getArea()); sj.showInfo(); } catch (NotSanjiaoException e) { System.out.println(e.getMessage()); } catch(InputMismatchException e ) { System.out.println("非法字符!"); }
public static void main(String args[]){ System.out.println("请输入一个字符串:");
try{ Scanner reader=new Scanner(System.in); String str = reader.nextLine(); System.out.println("第四个字符为 " + str.charAt(3)); int aa = Integer.parseInt(str);
} }
2、从命令行得到 5 个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整 数,要捕获 Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足 5 个的异 常(数组越界),显示“请输入至少 5 个整数”。
package November; import java.util.Scanner; public class Test2 {
super("不能构成三角形!"); } } public class Test4 { public static void main(String[] args) {
Scanner s = new Scanner(System.in); System.out.println("请输入三个边"); try {
} }
}catch(Exception e){ System.out.println("-----程序出错-----");
} }
} 4、自定义类 Sanj,其中有成员 x,y,z,作为三边长,构造方法 Sanj(a,b,c)分别给 x,y,z 赋值,方法 求面积 getArea 和显示三角形信息(三个边长)showInfo,这 2 个方法中当三条边不能构成一个 三角形时要抛出自定义异常 NotSanjiaoException,否则显示正确信息。在另外一个类中的主 方法中构造一个 Sanj 对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕 获异常。
public static void main(String[] args) { System.out.println("请输入五个整数:"); try { int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); int c = Integer.parseInt(args[2]); int d = Integer.parseInt(args[3]); int e = Integer.parseInt(args[4]);
} public static void main(String[] args){ Test3 t=new Test3(); try{
t.sanjiao();
}catch(NumberFormatException nfe){ System.out.println("请输入正整数");
}catch(IllegalArgumentException iae){ System.out.println("不能构成三角形!");
Java 异常处理作业
孙月巧
1、参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。【提示:用错 误数据测试,即可得到异常类名,运行时主方法参数输入 abc 测试】 package November; import java.util.Scanner; public class StringIndexOutOf{
相关文档
最新文档