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

发布于 2021-01-30 17:51:27

我正在尝试从命令行运行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

关注者
0
被浏览
61
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

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

    所以当你写:

    java calc * 2 5
    

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

    java calc file_1 file_2 ... file_n 2 5
    

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

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看