用Java编写计算器

1.编写一个计算器类,要求实现加、减、乘、除运算,注意在进行除法运算时,如果除数为0,那么【简单】就直接输出0来,【复杂】那么要对用户进行错误提示。2.要求用户通过命令行... 1 .编写一个计算器类,要求实现加、减、乘、除运算,注意在进行除法运算时,如果除数为 0 ,那么 【简单】 就直接输出 0 来, 【复杂】那么要对用户进行错误提示 。

2 .要求用户通过命令行去执行程序,执行的时候以参数的形式输入两个操作数和一个操作法,例如第一步编译成功后的名称为 MyCal.class ,那么在命令行执行 MyCal 10 + 15 ,那么就计算打印出 10 加 15 的结果,打印结果: 【简单】输出 25 ,【复杂】输出: 10+15=25 。

3 .要求用户在执行的时候必须要输入三个参数,如果参数不够,那么提示用户输入三个参数,然后退出。另外要判断用户输入的参数是否是数字,如果不是,那么也提示,然后直接退出。

【相关信息】

1 、下面代码为判断是否为数字,如果是数字,那么返回是 true ,否则返回 false ,在使用下面代码前,要在程序头导入包: import java.util.regex.*;

public static boolean isNumeric(String str)

{

Pattern pattern = Pattern.compile("[0-9]*");

Matcher isNum = pattern.matcher(str);

if( !isNum.matches() )

{

return false;

}

return true;

}

2 、通过 main 方法中的 args 获取用户附带的参数,例如用户输入 app 10 + 20 (注意参数间有空格),那么 args 对应的值为: args[0]=10 , args[1]=+ , args[2]=20
展开
 我来答
fred4444
2010-04-01 · TA获得超过155个赞
知道答主
回答量:59
采纳率:0%
帮助的人:57.4万
展开全部
import java.util.regex.*;

public class Calculation {

public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
if (args.length != 3) {
System.out.println("MyCal need 3 parameters the formate is:");
System.out.println("MyCal num1 operate num2:");
return;
}
if (!isNumeric(args[0]) || !isNumeric(args[2])) {
System.out.println("MyCal need 3 parameters the formate is:");
System.out.println("MyCal num1 operate num2");
System.out.println("num1 and num2 must be number:");
return;
}
int num1 = Integer.parseInt(args[0]);
int num2 = Integer.parseInt(args[2]);
if (args[1].length() == 1) {
switch (args[1].charAt(0)) {
case '+':
System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));
return;
case '-':
System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));
return;
case 'x':
System.out.println(num1 + " x " + num2 + " = " + (num1 * num2));
return;
case '/':
if (num2 == 0) {
System.out.println("can't / 0");
return;
}
System.out.println(num1 + " / " + num2 + " = " + (num1 / num2));
return;
}
}
System.out.println("MyCal need 3 parameters the formate is:");
System.out.println("MyCal num1 operate num2");
System.out.println("operate be (+, -, x, /)");
return;
}

public static boolean isNumeric(String str) {
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if(!isNum.matches()) {
return false;
}
return true;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式