[英]how to print Multiple String arrays output in a single line
我有3個String數組。 我想在Java中一個接一個地打印所有3個單個數組。 所以像我的2個數組看起來像-
o
ooo
ooooo
ooo
o
o o
ooooo
ooo
ooooo
o oo
我想一個接一個地打印數組的每個元素(彼此相鄰)
當前代碼結果-
o
ooo
ooooo
ooo
o
o o
ooooo
ooo
ooooo
o oo
o o
ooo
ooooo
ooo
o
如此預期的輸出
o o o o o
ooo ooooo oooo
ooooo ooo oooo
ooo ooooo oooo
上面的輸出可能與輸入不同,但是它只是我正在顯示的示例。 這是我期望打印的方式。
當前代碼
String[] tp1 = { " o ", " ooo ", "ooooo", " ooo ", " o " };
String[] tp2 = { " o o", "ooooo", " ooo ", "ooooo", " o oo" };
String[] tp3 = { " o o ", " ooo ", "ooooo", " ooo ", " o " };
List<String[]> values = new ArrayList<>();
values.add(tp1);
values.add(tp2);
values.add(tp3);
for (String[] strings : values) {
String output = "";
for (String string : strings) {
output += string;
output += "\n";
}
System.out.print(output);
}
您需要反轉for循環。 因此,您不能for each
語法使用。
采用,
for (int i = 0; i < tp1.length; i++) {
for (int j = 0; j < values.size(); j++) {
System.out.print(values.get(j)[i]);
}
System.out.println(" ");
}
使用Java 8,您可以像下面這樣使用新的forEach和Lambda:
values.forEach(value -> {
Arrays.asList(value).forEach(array -> System.out.print(array));
System.out.println();
});
導致
o ooo ooooo ooo o
o oooooo ooo ooooo o oo
o o ooo ooooo ooo o
如果您真的想要這樣:
o o o o o
ooo ooooo ooo
ooooo ooo ooooo
ooo ooooo ooo
o o oo o
您可以這樣做:
for (int i=0; i<tp1.length; i++) {
final int j = i;
values.forEach(value -> System.out.print(value[j]));
System.out.println();
};
但是,我建議您翻轉列表和/或數組。 由於尚不清楚所有數組tp1..3是否具有相同的長度。 例如,這種方式:
String[] tp1 = { " o ", " o o", " o o "};
String[] tp2 = { " ooo ", "ooooo", " ooo "};
String[] tp3 = { "ooooo", " ooo ", "ooooo" };
String[] tp4 = { " o ", " o oo" , " o " };
ArrayList<String[]> values = new ArrayList<>();
values.add(tp1);
values.add(tp2);
values.add(tp3);
values.add(tp4);
values.forEach(value -> {
Arrays.asList(value).forEach(array -> System.out.print(array));
System.out.println();
});
要獲得該輸出,您不需要values
變量。 您必須在一行中輸出所有數組的第一個字符串,因此請將for
循環更改for
for (int i = 0; i < 5; i++) {
System.out.println(tp1[i]+tp2[i]+tp3[i]);
}
我認為這應該可以解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.