如何解决Java命令行参数使用*作为乘法的参数
它不是Java,而是cmd
您正在使用的shell(如果您使用的是Windows)解释*
为“当前目录中的所有文件和文件夹”。
所以当你写:
java calc * 2 5
实际上,您将为程序提供以下参数:
java calc file_1 file_2 ... file_n 2 5
file_1 ... file_n
当前目录中的所有文件(和文件夹)在哪里。
如果您不希望shell解释*
为所有文件,则需要(如您所注意到的)引用该参数。
解决方法
我正在尝试从命令行运行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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。