在JAVA命令行中输入参数,星号是如何处理的?

如下程序:
public class P
{
public static void main(String args[])
{
int x, y;
char op;
String str=" ";

x =Integer.parseInt(args[0]);
op=args[1].charAt(0);
y =Integer.parseInt(args[2]);

switch(op)
{
case '+' : str=str+x+" + "+y+" = "+(x+y); break;
case '-' : str=str+x+" - "+y+" = "+(x-y); break;
case '*' : str=str+x+" * "+y+" = "+(x*y); break;
case '/' : str=str+x+" / "+y+" = "+(x/y); break;
default : System.out.println("不能识别的运算符 "+op);
System.exit(0);
}
System.out.println(str);
}
}
想通过这个程序实现输入两个整数和一个运算符,达到输出四则运算的效果,加减除都可以,但如果输入的是乘法,如2 * 3,程序却不能跳到case '*' ,反而显示“不能识别的运算符1”。为什么?如何解决?谢谢!!
本来觉得*作为通配符肯定是要处理过才可以看作是普通的星号,但我在命令提示行输入的是java P 2 '*' 3,真是笨到家了。
非常感谢uestcfb!!!!

第1个回答  2008-06-13
把星号用引号括起来:操作系统把星号解释成通配符。这样调用试试

java P 1 "*" 2本回答被提问者采纳
第2个回答  2020-05-24
你好!
是啊,操作系统为什么这样呢?!
打字不易,采纳哦!
第3个回答  2008-06-13
是啊,操作系统为什么这样呢?!
第4个回答  2008-06-13
我试过了,真的是这样啊。为什么啊??!!
关注中!!
第5个回答  2008-06-13
..不会吧。你在switch那设个断点看看?
相似回答