k 個の要素を持つ文字列配列があります。System.out.format を使用して出力したいのですが、k がわからないという問題があります。基本的に、次のようなものを使用したいと思います:
System.out.format("%s %s ... k times", str1, str2, ... strk);
(kは変数です)
Javaのドキュメントを調べていましたが、これを行う方法が見つかりませんでした。簡単な方法はありますか?
ありがとう!
k 個の要素を持つ文字列配列があります。System.out.format を使用して出力したいのですが、k がわからないという問題があります。基本的に、次のようなものを使用したいと思います:
System.out.format("%s %s ... k times", str1, str2, ... strk);
(kは変数です)
Javaのドキュメントを調べていましたが、これを行う方法が見つかりませんでした。簡単な方法はありますか?
ありがとう!
あなたが使用することができます
System.out.format("%s". Arrays.toString(your_array));
ループを使用します。
for (String s : array) {
System.out.print(String.format("%s ", s));
}
System.out.println();
for(int i = 0; i < array.length; i++) {
System.out.print("%s ", array[i]);
}
これは典型的なツールボックス コードです。頻繁に使用および再利用するコードであり、静的アクセス ユーティリティ クラス ( など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);
試す:
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