2012-09-07 126 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