小编典典

Java命令行参数。使用*作为乘法的参数

java

我正在尝试从命令行运行Java计算器应用程序。参数如下:运算符operon1操作数2。我可以为+和-成功运行Java程序。
例如
Java Calc + 2 4
Java Calc-10 4

但是当我尝试运行
java * 2 5时

System.out.println(args[0]);
System.out.println(args[1]);
System.out.println(args[2]);

给出输出:
.classpath
.project
.settings

我通过反复试验发现使用单引号(’‘)解决了我的问题。所以我现在有两个问题。
1.使用单引号是正确的方法吗?(java calc’
‘2 5)
2. java命令行中*的含义是什么?(我试图在互联网上找到它,但没有找到太多帮助)

谢谢,Punit


阅读 294

收藏
2020-09-28

共1个答案

小编典典

它不是Java,而是cmd您正在使用的shell(如果您使用的是Windows)解释*为“当前目录中的所有文件和文件夹”。

所以当你写:

java calc * 2 5

实际上,您将为程序提供以下参数:

java calc file_1 file_2 ... file_n 2 5

file_1 ... file_n当前目录中的所有文件(和文件夹)在哪里。

如果您不希望shell解释*为所有文件,则需要(如您所注意到的)引用该参数。

2020-09-28