我写了一个小型计算器的简单尝试,它有4个运算符(+, - ,*和/)。
当我通过命令行“java Calc 4 + 4”将任何其他3个操作符传递给我的程序时,它可以工作。但是,当我尝试传递“4 * 4”时,我得到一个Class.class的引用 - 为什么这个被客观化而不是作为普通字符串处理?这里发生了什么?
是否与使用*作为通配符的Windows命令行有关?如果是这样,我怎么能解决这个问题呢?
现在,作为一个简单的修复,我写了运算符乘以字符'x'。
TIA
答案 0 :(得分:3)
shell将*替换为当前目录中的文件列表。使用单引号传递星号:'*'。
答案 1 :(得分:3)
尝试使用“*”等引号围绕*。 *是命令行上的保留符号。
答案 2 :(得分:0)
因为星号是OS依赖于char表示所有文件,所以你必须转义星号