你好我困在簡單的Java練習中,希望有人能幫忙。解析java main args []數組錯誤
對不起,如果這很簡單我是一個java新手。
什麼我有麻煩:如果用戶輸入不是「幫助」以外的字符串,如「富」然後我得到了以下錯誤:
Exception in thread "main" java.lang.NumberFormatException: For input string: "foo"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at NumberGuess.main(NumberGuess.java:10)
我認爲正在發生的事情:「富「不會被」else「捕獲,因爲args [0]是一個對象引用,並不是一個字符串。
我想知道的是:如何抓住除「幫助」或數字「1」到「5」之外的所有內容?
這裏是代碼...
public class NumberGuess {
public static void main(String args[]){
int r;
int g;
if ((args[0].compareTo("help")) == 0){
System.out.println("Enter a number between 1-5 to play.");
} else if (Integer.parseInt(args[0]) > 0 && Integer.parseInt(args[0]) <= 5){
r = ((int)(Math.random()));
g = Integer.parseInt(args[0]);
if (r == g){
System.out.println("YOU WON!");
} else {
System.out.println("Wrong: number was " + r);
}
} else {
System.out.println("Something went horribly wrong.");
}}}
只是FYI,對於更復雜的參數解析,我會建議commons-cli。 – KitsuneYMG 2009-09-09 19:05:14