2012-09-07 71 views
0

大家给予特殊字符!我已经编写了这个程序来读取命令行参数。在命令行参数

public class UseArgument { 
public static void main(String args[]) 
{ 
    System.out.print("hi, "); 
    System.out.print(args[0]); 
    System.out.println(" How are you?"); 
} 
} 

我试图通过命令行发送以下参数:

java UseArgument @!&^% 

,它的如下抛出一个错误。 输出:

hi, @! How are you? 

“”%“”不被识别为内部或外部的命令, 运行的程序或批处理文件。

java UseArgument @!^% 

有人可以解释这种行为吗?这与正则表达式有关吗?

谢谢。 sivakiran B

+0

是否输入引号内的符号? – asgs

+1

给出的说法是“ ”@!&^%“' –

+0

不,我没有引号内添加。如u说,我加入他们,我从这些得到的结果。5月我终于知道为什么我们不需要与普通字符串报价..除了用于例如,Java UseArgument喜会甚至工作不带引号 – user1061216

回答

4

您正在使用的某些特殊字符对启动程序的shell有意义。通过将人物的报价,你通知shell不要根据自己的特殊含义处理这些字符。

+0

好的,谢谢您的回复 – user1061216