您即將外殼部分正確。假設你使用的是Unix,那麼你的Unix shell會將你的輸入字符串分割爲空白字符,然後把每一個字符串作爲輸入到「main」的數組中的一個元素。只有這樣,才能得到一切在一個字符串是引用像這樣(你說你不想要的):
java MyProgram 'Hello World'
如果你不想這樣做,最簡單的事情要做的僅僅是他們重新組合成一個字符串:
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
for(String s : args) {
sb.append(s);
sb.append(" "); //some length of whitespace
}
String yourString = sb.toString().trim();
}
這裏真正的問題是,如果你儘量避免引用和你自己重組輸入字符串,你將失去每個單詞之間的空格量。如果重組,所有以下命令行:
java MyProgram Hello World
java MyProgram Hello World
java MyProgram Hello World
將仍然只是顯示爲「Hello World」的程序中。
java MyProgram。類不工作,除非你的類被命名爲'類'和你的包'MyProgram''可能你打算'Java MyProgram' – OscarRyz 2010-03-17 23:09:54
@Oscar,好點。我做了這個改變。 – User1 2010-03-18 13:57:56