2015-02-17 21 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]); 
    } 

}