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

How to determine and print the longest command line argument in java?

我被指派编写一个程序来读取命令行参数并打印出最长的参数。我绝对是这里的新手,甚至不知道从哪里开始。这就是我的全部。我知道为此我需要一个 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 循环中的所有内容都不会起作用。这只是我扔在上面的东西,希望它能粘住。请帮忙!

java中的命令行参数存储在一个字符串数组中。您可以简单地遍历所有这些字符串并比较长度。

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());

使用带有 int i 的 for 循环遍历 args[] 数组。根据i的值访问每个成员:

args[i]

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

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

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

如果args[i]字符串比较大,就保存到s中。最后,打印出 s.

您可以选择使用 for each 循环,而不是标准的 for 循环。

遍历 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]);
     }

}