编写一个程序,该程序接受两个数字和一个像 (+,-,*, /) 这样的运算符作为命令行参数,并执行运算符指示的操作 [重复]
Posted
技术标签:
【中文标题】编写一个程序,该程序接受两个数字和一个像 (+,-,*, /) 这样的运算符作为命令行参数,并执行运算符指示的操作 [重复]【英文标题】:Write a program that accepts two numbers and a operator like (+,-,*, /) as command line arguments and perform the operation indicated by operator [duplicate] 【发布时间】:2014-11-22 20:27:14 【问题描述】:编写一个程序,该程序接受两个数字和一个像 (+,-,*, /) 这样的运算符作为命令行参数,并执行运算符指示的相应操作。如果用户输入任何其他字符,将显示相应的消息。程序的输出应该显示给用户。
我的代码是这样的
public class Practical4
public static void main(String[] args)
if(args.length==0)
System.out.println("No arguments are passed");
else
int a=Integer.parseInt(args[0]);
String p=args[1];
int b=Integer.parseInt(args[2]);
switch(p)
case "+":
System.out.println("Addition of "+a+" and "+b+" : "+(a+b));
break;
case "-":
System.out.println("Subtraction of "+a+" and "+b+" : "+(a-b));
break;
case "*":
System.out.println("Multiplication of "+a+" and "+b+" : "+(a*b));
break;
case "/":
System.out.println("Division of "+a+" and "+b+" : "+(a/b));
break;
case "%":
System.out.println("Modulo of "+a+" and "+b+" : "+(a%b));
break;
default:
System.out.println("Please Enter '+', '-', '*', '/' & '%' operator only.");
我得到了这个错误
java:17: incompatible types
found : java.lang.String
required: int
switch(p)
^
1 error
请给出解决方案。谢谢
【问题讨论】:
您使用的是哪个版本的 JDK?这仅在 Java7 之后才允许 ***.com/questions/338206/… 【参考方案1】:试试这个:因为在switch
的情况下支持java 7
向前string
。
在java 7
之前你应该这样做:
public class Practical4
public static void main(String[] args)
if(args.length==0)
System.out.println("No arguments are passed");
else
int a=Integer.parseInt(args[0]);
char p=args[1].charAt(0);
int b=Integer.parseInt(args[2]);
switch(p)
case '+':
System.out.println("Addition of "+a+" and "+b+" : "+(a+b));
break;
case '-':
System.out.println("Subtraction of "+a+" and "+b+" : "+(a-b));
break;
case '*':
System.out.println("Multiplication of "+a+" and "+b+" : "+(a*b));
break;
case '/':
System.out.println("Division of "+a+" and "+b+" : "+(a/b));
break;
case '%':
System.out.println("Modulo of "+a+" and "+b+" : "+(a%b));
break;
default:
System.out.println("Please Enter '+', '-', '*', '/' & '%' operator only.");
【讨论】:
【参考方案2】:在旧版本的 java 中,您不能在切换字符串时进行迭代。只有从 java 7 开始才允许这样做: https://***.com/a/12521398/1276062 更新您的 java 版本或将 p 转换为 char
【讨论】:
以上是关于编写一个程序,该程序接受两个数字和一个像 (+,-,*, /) 这样的运算符作为命令行参数,并执行运算符指示的操作 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
编写一个Java程序,用于接受一个字符串,并统计某字符在该字符串中出现的次数
课程作业01:模仿JavaAppArguments.java示例,编写一个程序,此程序从命令行接受多个数字,求和之后输出结果。
模仿JavaAppArguments.java示例,编写一个程序,由此程序从命令行接受多个数字,求和之后输出结果。
我用 C 语言编写了一个程序,它接受两个输入,x 和 n,并将 x 提高到 n 次方。 10^10 不起作用,发生了啥?