我的方法TextIO.putf方法有问题(它应该与System.out.printf具有相同的结果)。
这是给我问题的代码:
for (int columns = 0; columns < 3; columns++) {
for (int rows = 0; rows < 4; rows++) {
TextIO.putf("%5d", "-");
}
TextIO.putln();
}
当我运行应用程序时,它给了我这个错误:
线程“main”中的异常java.lang.IllegalArgumentException:TextIO.putf()方法中的非法格式字符串。
这取决于“ - ”部分,因为如果我把其他东西放在那里(例如我尝试使用数字4),它会正确地打印出来:
4 4 4 4
4 4 4 4
4 4 4 4
我该如何解决这个问题?为什么这给了我“ - ”而不是任何数字的错误?我试图在TextIO源代码和互联网上查找这个,我仍然不知道为什么(因为putf方法的第二个变量应该是Object类型)。
感谢大家帮助我!
答案 0 :(得分:1)
%5d信号中的d,您要打印十进制数字。
该表达式中的5表示该数字的长度应为5位数,如果数字较短,则用空格填充数字。
如果要打印字符串,请使用%s而不是%5d。