如何确定和打印java中最长的命令行参数?

时间:2015-02-17 23:00:40

标签: java for-loop command-line arguments

我被分配编写一个程序来读取命令行参数并打印出所述的最长参数。我绝对是个新手,甚至不知道从哪里开始。这就是我所拥有的一切。我知道我需要一个for循环。

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循环中所拥有的一切都无法正常工作。这只是我扔在它上面的东西,希望它能坚持下去。请帮忙!

3 个答案:

答案 0 :(得分: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());

答案 1 :(得分:0)

使用带有int i的for循环遍历args []数组。根据i:

的值访问每个成员
args[i]

将第一个字符串args [0]保存到一个单独的字符串对象中,称为s(或任何你喜欢的)。

然后,对于数组中的每个字符串(这里是循环开始的地方),使用length方法与s进行比较:

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

如果args [i]字符串较大,请将其保存在s中。最后,打印出来。

您可以选择为每个循环使用a,而不是循环标准。

答案 2 :(得分: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]);
     }

}