我搜索了相同的问题。(How do I escape a string in Java?),但我无法解决问题。
部分源代码 System.out.println(“ year:” + year +“ \ t” +“ rate_year:” + rate_year +“ \ t” +“ rate_month:” + rate_month);
但是当我打印时 。 。 。 年:10 rate_year:0.4 rate_month:0.03333333333333333
这将打印第一个“ \ t” 为什么所有的“ \ t”都没有适应???
答案 0 :(得分:0)
“ \ t”前进到下一个制表位。如果有人稍微改变了文字说明,请注意对齐方式:
System.out.println("year : "+year+"\t"+"rate_year : "+rate_year+"\t"+"rate_month : "+rate_month);
System.out.println("year : "+year+"\t"+"ry : "+rate_year+"\t"+"rm : "+rate_month);
输出:
year : 10 rate_year : 0.4 rate_month : 0.333333
year : 10 ry : 0.4 rm : 0.333333
我认为问题仅在于标签栏所在的位置。
换句话说,如果目标是列对齐,则最好使用printf
和特定的列大小。参见例如this answer on formatting with \t
示例:
for (int i = 0; i < 12; ++i) {
System.out.printf("year : %3d rate_year : %6f rate_month : %-6f\n",
i,
rate_year,
rate_month);
}
输出:
year : 8 rate_year : 0.400000 rate_month : 0.333333
year : 9 rate_year : 0.400000 rate_month : 0.333333
year : 10 rate_year : 0.400000 rate_month : 0.333333
year : 11 rate_year : 0.400000 rate_month : 0.333333