用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 展开
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 展开
1个回答
展开全部
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;
}
}
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;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询