2015-10-19 42 views
-6

使用的東西,我沒有在Java經驗豐富,我目前採取了教程在java中。但是我遇到了一些問題,在本教程中我已經看到過幾次。 這裏是我的代碼:不明白的Java

public class GuessingGame { 
    public static void main(String args[]) { 
     int randomNum = 0; 
     int argument; 
     if (args.length == 0 || args[0].compareTo("help") == 0) { 
      System.out.println("Usage: GuessingGame [argument]"); 
      System.out.println(); 
      System.out.println("help print this help message"); 
      System.out.println("Enter 1-5 as your guess"); 
     } else { 
      randomNum = ((int)(Math.random() * 5) + 1); 
      argument = Integer.parseInt(args[0]); 
      if (argument < 1 || argument > 5) { 
       System.out.println("Invalid argument !!!"); 
      } else { 
       if (argument == randomNum) { 
        System.out.println("Great Guess - You got it right !!!"); 
       } else { 
        System.out.println("Sorry the number was: " + randomNum + ". Try again !!!"); 
       } 
      } 
     } 
    } 
} 

,我把它是有點老的教程所以它使用的jEdit和命令提示符來編譯這個程序,我使用的IntelliJ。問題是,當我運行程序時,它只是打印這些行,我不知道如何插入一個數字,以使該程序可用。

+0

哪一部分你不明白嗎? –

+0

我剛剛編輯...對不起:) –

+0

什麼是第7行?如果是sysout(),它只是打印一條空行 –

回答

0

你的主要方法的String args[]參數是一個字符串,其索引可以當你在命令行中執行程序填寫的數組。

這裏是如何從您的命令行做它:

javac GuessingGame.java // This will compile your Java code file 
java GuessingGame one two three // Here, we execute the bytecode file created from compilation 

String[] args這裏的價值如下:

["one", "two", "three"] 

MORE INFO

PS:我不知道任何方法從IDE中獲得填充的String[] args。它默認爲空。

+0

Thx。我設法瞭解整個事情。我的程序不能傳遞一個參數,它只是在沒有任何參數的情況下編譯程序來執行某些操作。 –

+0

沒關係! –

+1

'PS:我不知道有什麼方法可以從IDE獲得一個填充的String []參數。默認情況下它是空的。 - 是的,默認情況下它是空的,但是每個IDE都有定義好的運行具有指定參數的程序的方法。例如,Eclipse有一個運行配置嚮導,可讓您設置程序命令參數。 –