Java- 无法对数组正确使用 StringBuilder

Java- unable to use StringBuilder correctly with Arrays

所以我正在尝试制作这个 10 行 10 列的棋盘。我必须使用 StringBuilder 方法来制作它,但我无法这样做。我的输出是错误的。这是我的代码

import java.util.ArrayList;
import java.util.Scanner;
public class bord {
    public static void main(String[] args) {
        StringBuilder s= new StringBuilder();
        for( int r=0;r<10;r++)
        {
            for( int c=0;c<10;c++)
            {
                s.append("-");
                System.out.print(" "+s);
            }
            System.out.println("");
        }   
}
}

这就是我想要的:

使用下面的代码:-

 public static void main(String[] args) {
        for( int r=0;r<10;r++)
        {
            StringBuilder s= new StringBuilder();

            for( int c=0;c<10;c++)
            {
                s.append("-");
            }
            System.out.print(" "+s);

            System.out.println("");
        }   
}

这个有效:

public class Board {
    public static void main(String[] args) {
    StringBuilder s= new StringBuilder();
    for( int r = 0; r < 10; r++) {
        for( int c = 0; c < 10; c++) {
            s.append("- ");
        }
        s.append("\n");
    }
    System.out.print(s);
    }
}

只是另一种解决方案,如果您想使用一个循环:

StringBuilder s = new StringBuilder();
for (int r = 0; r < 10; r++) {
    s.append(String.format("%0" + 10 + "d", 0).replace("0", "- "));
    s.append("\n");
}
System.out.println(s.toString());

输出

- - - - - - - - - - 
- - - - - - - - - - 
- - - - - - - - - - 
- - - - - - - - - - 
- - - - - - - - - - 
- - - - - - - - - - 
- - - - - - - - - - 
- - - - - - - - - - 
- - - - - - - - - - 
- - - - - - - - - - 

并且不要忘记那些尽可能使用流 API 的人。

StringBuilder sb = new StringBuilder();
IntStream.range(0,100).forEach(i -> { sb.append(i%10 == 9 ? "-\n" : "- ");});
System.out.println(sb.toString());

使用 for 循环是如此 2013 ;-P