我正在尝试自己制作“猫找老鼠”的东西,但我遇到了麻烦,因为我打印字段的方式相当复杂/效率低。
所以我有这个领域:
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("");
}
}
}
答案 0 :(得分:2)
System.out.println(
Arrays.stream(field)
.map(a -> String.join("", a))
.collect(Collectors.joining("\n")));
适用于java8