有难帮一下

chainjinghai 2007-12-22 03:36:15
题一;
编写除法计算程序。要求:
(1)程序文件名:Divide.java,截屏文件名:screen.jpg。截屏文件中应显示输入各种不同类型的数据(含除数为0)时的运算结果。2个文件分别上传,勿打包。
(2)从命令行输入除数和被除数作为参数(除数为第一参数,被除数为第二参数),如:java Divide 2 3;输出运算结果,1.50。
(3)计算结果保留到小数点后2位。
(4)如果除数为0,要求能够用try...catch捕获抛出的错误。
提示:
(1)注意除数和被除数的数据类型(整数、浮点数等),避免当数据类型不一致时引起计算误差。
(2)除数和被除数被作为字符串传入,需转换成数值后才能运算。
(3)除0时抛出的错误对象是:java.lang.ArithmeticException,其继承关系是:
java.lang.Object
|-java.lang.Throwable
|-java.lang.Exception
|-java.lang.RuntimeException
|-java.lang.ArithmeticException
...全文
61 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bt_lose 2008-03-03
  • 打赏
  • 举报
回复

import java.text.DecimalFormat;

public class Divide {
public static void main(String[] args) {
if (args.length < 2) {
// 参数小于两个
System.out.println("参数小于两个");
return;
}
double d1 = 0;
double d2 = 0;
try {
d1 = Double.parseDouble(args[0]);
d2 = Double.parseDouble(args[1]);
System.out.println("第一个数:" + d1 + "\n第二个数:" + d2);
} catch (java.lang.NumberFormatException ex) {
System.out.println(ex);
return;
}
try {
// 数据格式化对象,"0.00"为匹配模式
DecimalFormat df = new DecimalFormat("0.00");
if (d1 == 0) {
throw new ArithmeticException();
}
// 进行运算
double res = d2 / d1;
// 输出结果
System.out.println("结果是:" + df.format(res));
} catch (java.lang.ArithmeticException e) {
e.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}

这是完整代码,可以直接运行.

运行结果:
java Divide 0.00 2000.00
第一个数:0.0
第二个数:2000.0
java.lang.ArithmeticException
at Divide.main(Divide.java:24)

java Divide jj 100
java.lang.NumberFormatException: For input string: "jj"

java Divide 2 3
第一个数:2.0
第二个数:3.0
1.50




62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧