class p232
{
public static void main(String args[])
{
int a=50,b=40;
char n;
n=args[0].charAt(0);
System.out.println(args[0]);
System.out.println(n);
switch (n)
{
case '+':
System.out.println("两个数的和是"+(a+b));
break;
case '-':
System.out.println("两个数的差是"+(a-b));
break;
case '*':
System.out.println("两个数的积是"+(a * b));
break;
case '/':
System.out.println("两个数的商是"+(a / b));
break;
}
}
}
当我从命令行参数输入乘法符号‘*’时,程序啥结果都不显示,但是当乘法符号后面随便输入什么就能认出乘法符号,请问这是为什么,谢谢。
{
public static void main(String args[])
{
int a=50,b=40;
char n;
n=args[0].charAt(0);
System.out.println(args[0]);
System.out.println(n);
switch (n)
{
case '+':
System.out.println("两个数的和是"+(a+b));
break;
case '-':
System.out.println("两个数的差是"+(a-b));
break;
case '*':
System.out.println("两个数的积是"+(a * b));
break;
case '/':
System.out.println("两个数的商是"+(a / b));
break;
}
}
}
当我从命令行参数输入乘法符号‘*’时,程序啥结果都不显示,但是当乘法符号后面随便输入什么就能认出乘法符号,请问这是为什么,谢谢。
arg[0]:comment.htt;
n:cD:\>java p232 *.*
arg[0]:comment.htt;
n:cD:\>java p232 *.
arg[0]:cvs;
n:cD:\>java p232 *.
arg[0]:a;
n:aD:\>java p232 *1
arg[0]:Downloads;
n:DD:\>java p232 *2
arg[0]:新建文件夹(2);
n:新D:\>java p232 *3
arg[0]:*3;
n:*
两个数的积是2000---------------------------我好奇的是*1,*2
为什么和*3有所不同
就是列出目录下所有的文件所以
java Foo *
中的“*”可能被先被windows命令程序解析成文件名,再送到java命令里了我的看法
public static void main(String args[]){
tryDo(new String[]{"*"});
}
tryDo中是和楼主一样的程序.
1--->tryDo(new String[]{"*"});--->两个数的积是2000
2--->tryDo(new String[]{"*.*"});--->两个数的积是2000看来是在输入参数的时候出了问题
例如: java p232 "*" >>1.txt
这个命令会将原本应该在控制台中显示的内容重定向到1.txt文件中。这里需要使用双引号来做转义(如果需要双引号的话,可以使用\")。另外一种常见的情况是:在命令行中,有时候我们需要输入一个带空格的参数,例如:
java p232 this is a test string
很显然这样的写法,会被认为是5个参数。如果我们想将其作为一个参数的话,那么我们需要这样:
java p232 "this is a test string"
类似的例子还很多,比如:
>cd "Program Files"