我的任务是制作并打印一个多维数组,其形状如附件所示。
为了完成任务,我需要创建一个 StringBuilder 和数组列表,然后使用 foreach 循环打印主方法中的每一行。
这就是我陷入困境的地方,我真的不知道如何继续前进。
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) {
ArrayList<String> strings = new ArrayList<>();
StringBuilder sb = new StringBuilder();
sb.append(String.format("%4s", ""));
for (int i = 1; i <= size; i++) {
StringBuilder sb2 = new StringBuilder();
sb.append(String.format("%4d", i));
}
strings.add(sb.toString());
for (int i = 1; i <= size; i++) {
StringBuilder sb3 = 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;
}
}
最佳答案
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;
}
}
关于java - ArrayList 的乘法表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59306021/