在一行中显示Java args []

时间:2015-07-31 17:41:39

标签: java

我写了这个

public class Main {
    public static void main(String[] args) {
        for (int i =0; i < args.length; i++){
            System.out.println(args[i]);
        }
    }
}

在cmd中键入:

C:\> javac Main.java

C:\> java Main first second third

控制台告诉我

first
second
third

Questin是如何让cmd在一行中显示参数的?

4 个答案:

答案 0 :(得分:3)

应该是这样的。

cellForRowAtIndexPath

答案 1 :(得分:3)

您正在使用System.out.println()

println方法将通过为您写入行分隔符字符串来终止当前行。 (在你的情况下是换行符。)

相反,您想使用System.out.print()

像这样:

System.out.print(args[i] + " ");

这将打印您的参数,后跟空格而不是换行符。

答案 2 :(得分:1)

使用System.out.print()而不是println()。

答案 3 :(得分:1)

如果您希望打印在同一行继续,则需要调用print()方法而不是println()方法。

此外,由于这类似于echo程序,如果您希望它完美,您希望在字符串之间留出空格,但不要在第一个之前或之后。

使用Java 4及更早版本:

public class Main {
    public static void main(final String[] args) {
        for (int i = 0; i < args.length; i++) {
            if (i >  0)
                 System.out.print(" ");
            System.out.print(args[i]);
        }
        System.out.println();
    }
}

使用Java 5-7你可以使用for每个循环,虽然在这个特殊情况下并不是更好,但它只是为了完整性:

public class Main {
    public static void main(final String... args) {
        boolean isFirst = true;
        for (final String arg : args) {
            if (isFirst)
                isFirst = false;
            else
                System.out.print(" ");
            System.out.print(arg);
        }
        System.out.println();
    }
}

使用Java 8:

public class Main {
    public static void main(final String... args) {
        System.out.println(String.join(" ", args));
    }
}

如果你想要你的程序很快 - 在这种情况下这不是必需的,这又是为了完整性 - 你想要先组装String然后一次打印它。

使用Java 4及更早版本:

public class Main {
    public static void main(final String[] args) {
        final StringBuffer sb = new StringBuffer();
        for (int i = 0; i < args.length; i++) {
            if (i > 0)
                sb.append(' ');
            sb.append(args[i]);
        }
        System.out.println(sb);
    }
}

使用Java 5-7:

public class Main {
    public static void main(final String... args) {
        final StringBuilder sb = new StringBuilder();
        for (final String arg : args)
            sb.append(arg);
        if (args.length > 0)
            sb.setLength(sb.getLength() - 1); // skip last space
        System.out.println(sb);
    }
}

使用Java 8(没有区别):

public class Main {
    public static void main(final String... args) {
        System.out.println(String.join(" ", args));
    }
}

我更喜欢的代码:

import static java.lang.String.join;
import static java.lang.System.out;

public class Main {
    public static void main(final String... args) {
        out.println(join(" ", args));
    }
}

希望这有帮助,享受Java的乐趣!