2015-02-17 45 views
2

我已經被分配來編寫一個讀取命令行參數的程序,並打印出所述最長的參數。我絕對是新手,甚至不知道從哪裏開始。這就是我所擁有的一切。我知道我需要一個for循環。如何確定並打印java中最長的命令行參數?

public class Assignment2 { 
public static void main(String[] args) { 
    if (args.length == 0) { 
     System.out.println("You need to pass in at least one argument to run this program."); } 
    if (args.length > 1) { 
     for (int i = 0; int < args[].length(); i++) { 
      System.out.println("The longest argument is " + i + " " + args[i]); 
     } 

我知道我在for循環中的所有內容,因爲這裏沒有工作。這只是我扔到它希望它堅持的東西。請幫忙!

回答

0

java中的命令行參數存儲在一個String數組中。您可以簡單地遍歷所有這些字符串並比較長度。

public static void main(String[] args) { 
    if (args.length == 0) { 
     System.out.println("You need to pass in at least one argument to run this program."); } 
    if (args.length >= 1) { 
     String longestArg = ""; 
     for (int i = 0; i < args.length(); i++) { 
      if (args[i].length() > longestArg.length()) { 
       longestArg = args[i]; 
      } 
     } 
     System.out.println("The longest argument is " + longestArg + " with length " + longestArg.length()); 
0

使用for循環使用int i遍歷args []數組。訪問基於i的值每一個成員:

args[i] 

保存所述第一串,ARGS [0],到一個單獨的字符串對象,稱爲S(或任何你喜歡)。

然後,對於陣列中的每個串(這裏是在循環開始位置),使用長度方法比較與S:

s.length() > args[i].length() 

如果ARGS [I]字符串是較大的,它保存在s中。最後,打印出來。

您可以選擇使用每個循環的循環,而不是循環的標準。

0

循環遍歷args數組,請注意具有最長參數的索引。

public static void main(String[] args) { 
    int longest=0,index=0; 
    if(args.length>0) 
    { 
      for(int i=0;i<args.length;i++) 
      if(args[i].length()>longest) 
      { 
       longest=args[i].length(); 
       index=i; 
      } 
      System.out.println(args[index]); 
    } 

}