Java 来自ArrayList的乘法表

Java 来自ArrayList的乘法表,java,arraylist,Java,Arraylist,我的任务是制作并打印一个多维数组,其形状如附件所示 为了完成这项任务,我需要创建一个StringBuilder和数组列表,然后使用for-each循环打印main方法中的每一行 这就是我被困的地方,我真的不知道如何继续前进 从未使用过sb2和sb3。而你从来没有让某人清白过 public class MultiplicationTable { public static void main(String[] args) { for (String s : getMultiplicatio

我的任务是制作并打印一个多维数组,其形状如附件所示

为了完成这项任务,我需要创建一个StringBuilder和数组列表,然后使用for-each循环打印main方法中的每一行

这就是我被困的地方,我真的不知道如何继续前进


从未使用过sb2和sb3。而你从来没有让某人清白过

public class MultiplicationTable {
public static void main(String[] args) {
    for (String s : getMultiplicationTable(5)) {
        System.out.println(s);
    }

}
public static List<String> getMultiplicationTable(int size) {
    List<String> strings = new ArrayList<>();

    StringBuilder sb = new StringBuilder();
    sb.append(String.format("%4s", ""));
    for (int i = 1; i <= size; i++) {
        sb.append(String.format("%4d", i));
    }
    strings.add(sb.toString());

    for (int i = 1; i <= size; i++) {
        sb = new StringBuilder();
        sb.append(String.format("%4d", i));
        for (int j = 1; j <= size; j++) {
            sb.append(String.format("%4d", i * j));
        }
        strings.add(sb.toString());
    }
    return strings;
}
}

这里有一些建议

替换此项: StringBuilder sb=新的StringBuilder; sb.appendString.格式%4s; 用这个

    StringBuilder sb = new StringBuilder("    "); // four spaces
即使使用System.out.println打印出表,它看起来 通过在每行的StringBuilder中添加一个\n来更像您想要的图像。 最后,为了方便起见,将格式规范定义为字符串。 字符串格式=%4d; 然后在打印语句中,使用格式字符串而不是实际格式。这减少了要更改间距时必须编辑的位置数。

请阅读如何创建间距。然后使用链接改进您的问题,不要通过评论添加更多信息。否则,我们无法回答您的问题并帮助您。
    StringBuilder sb = new StringBuilder("    "); // four spaces
    sb.append("\n");