我正在尝试从2个不同的ArrayList
s格式化我的Marks输出。一个用于Homework
,另一个用于Exams
。我正在寻找的格式是这样的:
我的代码到目前为止
public void example() {
System.out.println("");
System.out.println("Subject: "+subjectString);
System.out.print("Homework Mark: ");
for(int i = 0; i <= arrayList1.size()-1; i++){
System.out.printf("",arrayList1.get(i));
}
}
}
但我不能以任何方式让它发挥作用。
答案 0 :(得分:0)
使用\t
字符将插入标签。您可以使用它来适当地对齐列。
答案 1 :(得分:0)
试试这个
public void load() {
System.out.println("");
System.out.println("Subject: "+subjectString);
System.out.print("Homework Mark: \t");
for(int i = 0; i <= arrayList1.size()-1; i++){
System.out.print(arrayList1.get(i) + "\t");
}
System.out.println("");
System.out.print("Exam Mark: \t");
for(int i = 0; i <= arrayList2.size()-1; i++){
System.out.print(arrayList2.get(i) + "\t");
}
System.out.println("");
}
}
使用\t
将添加标签以组织输出格式
答案 2 :(得分:0)
首先,我马上看到的几个问题是:
1)使用System.out.printf
没有空字符串作为格式,意味着只打印一个空字符串。
2)您似乎希望将输出对齐到列中,而System.out.print
只能使用System.out.printf
,但-
允许您按特定方式执行此操作(并且不依赖于制表符)宽度间距。
打印行标题时,请注意格式中的public static void load() {
System.out.println("");
System.out.println("Subject: "+subjectString);
System.out.printf("%-19s", "Homework Mark: ");
for (int i = 0; i < arrayList1.size(); i++) {
System.out.printf("%7d", arrayList1.get(i));
}
System.out.println("");
System.out.printf("%-19s", "Exam Mark: ");
for (int i = 0; i < arrayList2.size(); i++) {
System.out.printf("%7d", arrayList2.get(i));
}
System.out.println("");
}
减号,这会使它们与指定的间距保持对齐并匹配您想要的输出。
以下是您的代码的调整版本:
{{1}}