printf语句看起来像System.out.printf("%-30s", "Scientific Name")
。同时,我负责创建一个用于查询mysql数据库的基于文本的界面。
我获得的代码行是format.append("%-"+ name.length()+6);
,其中format
是StringBuilder,而name.length()
是通过循环播放的列的长度因为我无法提前知道这个柱子有多大。我甚至不知道数据库,也不知道它包含的内容。
这里的问题是:字符串之间的逗号。这本身不是字符串的一部分,是吗?我的意思是,它的文字。它必须是,对吧?我只需要添加\"
printf
通常有引号,是吗?
...但是,当我之前将StringBuilder
插入某个内容时,我从未需要类似的东西。
编辑:
基本上,我希望能够.printf(format , column name , column name , column name , ...)
,其中format
是要打印出来的整个表格的格式(因此可以重复使用)。这可能吗?
答案 0 :(得分:1)
看起来您应该将printf命令放入循环中。这将打印同一行上的所有列,但您可以构建每个列。如果要打印到文件,您可能需要在某处删除逗号,因此请密切关注打印出来的第一个字符并将其删除。
for(loop through column names){
System.out.printf(",%-"+namelength()+"s", name);
}
答案 1 :(得分:0)
您可以使用.printf(format, column name, ...)
,因为逗号只是为printf
函数提供所需参数的一部分,而不是您要打印的实际文本的一部分。