11

k 個の要素を持つ文字列配列があります。System.out.format を使用して出力したいのですが、k がわからないという問題があります。基本的に、次のようなものを使用したいと思います: System.out.format("%s %s ... k times", str1, str2, ... strk); (kは変数です)

Javaのドキュメントを調べていましたが、これを行う方法が見つかりませんでした。簡単な方法はありますか?

ありがとう!

4

8 に答える 8

58

あなたが使用することができます

System.out.format("%s". Arrays.toString(your_array));
于 2013-08-20T13:02:33.787 に答える
4

ループを使用します。

for (String s : array) {
    System.out.print(String.format("%s ", s));
}
System.out.println();
于 2013-08-20T13:00:00.597 に答える
2
for(int i = 0; i < array.length; i++) {
    System.out.print("%s ", array[i]);
}
于 2013-08-20T13:01:31.737 に答える
1

これは典型的なツールボックス コードです。頻繁に使用および再利用するコードであり、静的アクセス ユーティリティ クラス ( などStringUtil) に保持するのが最適です。これは、すべての種類の非プリミティブ配列で機能し、セパレーター (スペース、コンマ、スラッシュなど) を指定できる汎用関数です。

public static <T> void print (PrintStream out, String separator, T... elements) {
        for (int i = 0; i < elements.length; i++) {
            if (i > 0) {
                out.print(separator);
            }
            out.print(elements[i]);
        }
    }

使用例:

String[] s = {"A", "B", "C", "D", "E"};
Integer[] n = {1, 2, 3, 4, 5}; //non-primitive
print(System.out, " ", s);
print(System.out, ", ", n);
于 2013-08-20T13:22:40.543 に答える
1

試す:

StringBuilder sb = new StringBuilder();
for(String s : myArray){
    sb.append(s).append(" ");
}
sb.append(myArray.length).append(" times");
System.out.println(sb.toString());              // print the string 
于 2013-08-20T13:02:13.963 に答える