我正在尝试自己创建“猫找到老鼠”的东西,但我在做这件事时遇到了麻烦,因为我打印字段的方式非常复杂/效率低下。
所以我有这个字段:
String[][]field = {
{"+", "+", "+", "+", "+", "+", "+", "+", "+"},
{"+", " ", " ", " ", " ", " ", " ", "M", "+"},
{"+", " ", "+", "+", "+", "+", "+", " ", "+"},
{"+", " ", "+", "+", " ", " ", "+", " ", "+"},
{"+", " ", " ", " ", " ", "+", "+", " ", "+"},
{"+", " ", " ", "+", "+", "+", "+", " ", "+"},
{"+", "C", " ", " ", " ", " ", " ", " ", "+"},
{"+", "+", "+", "+", "+", "+", "+", "+", "+"},
};
它应该这样打印:
+++++++++
+ M+
+ +++++ +
+ ++ + +
+ ++ +
+ ++++ +
+C +
+++++++++
这是我的代码,我是如何打印它的。打印效果非常好,但它的编码和完成方式非常低效......是否有一种方法可以只用几行代码来完成所有这些工作?请注意,它必须与我发布的完全相同。
这是我的方法:
public class CatMouseCheap {
public static void main(String[] args){
String[][]field = {
{"+", "+", "+", "+", "+", "+", "+", "+", "+"},
{"+", " ", " ", " ", " ", " ", " ", "M", "+"},
{"+", " ", "+", "+", "+", "+", "+", " ", "+"},
{"+", " ", "+", "+", " ", " ", "+", " ", "+"},
{"+", " ", " ", " ", " ", "+", "+", " ", "+"},
{"+", " ", " ", "+", "+", "+", "+", " ", "+"},
{"+", "C", " ", " ", " ", " ", " ", " ", "+"},
{"+", "+", "+", "+", "+", "+", "+", "+", "+"},
};
for(int i=0; i<field.length; i++){
for(int j=0; j<field[i].length; j++){
System.out.print(field[i][j]);
}
System.out.println("");
}
}
}
最佳答案
System.out.println(
Arrays.stream(field)
.map(a -> String.join("", a))
.collect(Collectors.joining("\n")));
适用于 java8
关于java - 如何以这种形式打印这个二维字符串数组而不需要太多的努力(java)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42026600/