当*在Java中不起作用时,为什么要获取参数?

当*在Java中不起作用时,为什么要获取参数?,java,console,arguments,Java,Console,Arguments,我是Java新手,我希望程序能得到一个不同的符号作为参数。例如: java程序 在程序中,我将字符串转换为字符,如下所示: char c=args[0]。charAt0; 或者像这样: char[]c=args[0]。toCharArray; 但当我放*时,它不起作用。我打印并获取文件名。当您在命令行中使用*字符时,它会被展开-这就是为什么您会获得文件名/文件名列表 您可以尝试转义星号: 使用反斜杠\:java程序\* 使用也应该转义的双引号:java程序\*\ 但是,在这两种情况下,您可能会得

我是Java新手,我希望程序能得到一个不同的符号作为参数。例如: java程序 在程序中,我将字符串转换为字符,如下所示: char c=args[0]。charAt0; 或者像这样: char[]c=args[0]。toCharArray; 但当我放*时,它不起作用。我打印并获取文件名。

当您在命令行中使用*字符时,它会被展开-这就是为什么您会获得文件名/文件名列表

您可以尝试转义星号:

使用反斜杠\:java程序\* 使用也应该转义的双引号:java程序\*\ 但是,在这两种情况下,您可能会得到星号和转义字符。
类似问题的其他解决方案如图所示。

当我把*放进去时,它不起作用是什么意思?你的程序应该做什么?请给我们看一些代码。许多shell会在一个命令中将*展开为文件列表。这超出了Java的控制范围。我试着用cmd运行程序,首先通过命令javac program.java编译,然后:java program*,其中star是第一个参数,我不能使用引号为什么不能使用引号?