A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 沐阳6011 中级黑马   /  2014-6-12 20:36  /  1029 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目:
从命令行输入两个小数参数,求他们的商。要求程序中捕获NumberFormatException异常和ArithmeticException异常。
下面是我写出来的代码,大家看下有没有更好的需要补充的。注释掉的部分都是我之前尝试过的方法,但都没得到理想化的结果。
  1. /*class ChuShuException extends ArithmeticException
  2. {
  3.         ChuShuException(String message)
  4.         {
  5.                 super(message);
  6.         }
  7. }*/
  8. class ExceptionDemo1
  9. {
  10.         public static void main(String[] args)
  11.        
  12.         /*public static void main(String[] ar)*/
  13.         {
  14.                 float a=0;
  15.                 float b=0;
  16.                 /*int a=4;
  17.                 int b=1;*/
  18.                  
  19.                
  20.                           try
  21.                         {
  22.                                 /*a=Double.valueOf(ar[0]);//从命令行输入参数操作
  23.                                 b=Double.valueOf(ar[1]);*/
  24.                                 String str1=args[0];
  25.                                 String str2=args[1];
  26.                                
  27.                                 a=Float.parseFloat(str1);
  28.                                 b=Float.parseFloat(str2);
  29.                                
  30.                                 if(b==0)
  31.                                 //throw new ChuShuException("除数不能为0");
  32.                                 throw new ArithmeticException();
  33.                                 int temp=(int)(a/b);
  34.                                    System.out.println("商:"+temp);
  35.                                 System.out.println("^^^^^^^^^^^^");
  36.                                   
  37.                            }
  38.                         catch(NumberFormatException e)
  39.                         {
  40.                                 System.out.println("输入的不是双精度参数"+e);
  41.                         }
  42.                         catch(ArithmeticException e)
  43.                          {
  44.                                 System.out.println("除数不能为零"+e);
  45.                          }
  46.                         System.out.println("程序运行结束!");

  47.                
  48.         }
  49.   
  50. }
复制代码

3 个回复

倒序浏览
怎么没人看到?
回复 使用道具 举报
平时对异常的关注不多,感觉这东西只要抛出去,或者捕获,之后主要看里边的出错信息。自己没有像楼主那样研究那么透彻。
回复 使用道具 举报
Rodgers 发表于 2014-6-13 15:24
平时对异常的关注不多,感觉这东西只要抛出去,或者捕获,之后主要看里边的出错信息。自己没有像楼主那样研 ...

这个只是为了捕获异常用的,让程序能正常执行。不算java中的难点,我现在不明白的是从命令行输入语句的操作。我用的这两种那种比较好?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马