2015-10-19 48 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有一个运行配置向导,可让您设置程序命令参数。 –