如何使用命令printf以相同的方式在附加的输出文件中打印输出?
这是我目前的代码:
else if (args[0].equals("fib")) {
for (int i = 0; i < (Integer.parseInt(args[1]) + 1); ++i) {
System.out.println(getFib(i));
}
}
如何更改它以使其像附图一样打印? 谢谢你们的帮助!
答案 0 :(得分:0)
这是一个例子。
而不是即时打印将所有数字添加到列表中:
List<Integer> numbers = new ArrayList<>();
for (int i = 1; i <= number; i++) {
numbers.add(fibonacci(i));
}
然后为printf()创建一个模式:
String pattern = "%" + (numbers.get(numbers.size()-1).toString().length() + 10) + "d";
其中(numbers.get(numbers.size()-1).toString().length() + 10)
是最大数字中的字符数加上列之间的10个空格的总和。
然后打印列表的所有元素。需要计数器才能拥有不超过6列:
int counter = 0;
for (Integer integer : numbers) {
if (counter == 6) {
System.out.println(" ");
counter = 0;
}
System.out.printf(pattern, integer);
counter++;
}