首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java:更简单漂亮的打印?

Java:更简单漂亮的打印?
EN

Stack Overflow用户
提问于 2009-12-10 02:41:48
回答 6查看 14.2K关注 0票数 10

在我的计算结束时,我打印结果:

代码语言:javascript
复制
System.out.println("\nTree\t\tOdds of being by the sought author");

for (ParseTree pt : testTrees) {
 conditionalProbs = reg.classify(pt.features());

 System.out.printf("%s\t\t%f", pt.toString(), conditionalProbs[1]);
 System.out.println();
}

例如,这会产生以下结果:

代码语言:javascript
复制
Tree  Odds of being by the sought author
K and Burstner  0.000000
how is babby formed answer  0.005170
Mary is in heat  0.999988
Prelim  1.000000

仅仅把两个\t放在里面有点笨拙--列并不是真正对齐的。我更希望有这样的输出:

代码语言:javascript
复制
Tree                         Odds of being by the sought author
K and Burstner               0.000000
how is babby formed answer   0.005170
Mary is in heat              0.999988
Prelim                       1.000000

(注意:我在让SO文本编辑器完美地排列这些列时遇到了问题,但希望您能理解。)

有没有一种简单的方法可以做到这一点,或者我必须编写一个方法来尝试根据"Tree“列中字符串的长度来找出它?

EN

Stack Overflow用户

回答已采纳

发布于 2009-12-10 02:45:56

您正在查找字段长度。尝试使用以下命令:

代码语言:javascript
复制
printf ("%-32s %f\n", pt.toString(), conditionalProbs[1])

-32告诉您字符串应该左对齐,但是字段长度为32个字符(根据您的喜好进行调整,我选择了32,因为它是8的倍数,这是终端上正常的制表位)。在标题上使用相同的代码,但使用%s而不是%f将使这一行变得更好。

票数 15
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1875936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档