所以我用过这个:
System.out.println("Of what race do you belong?\n[H]uman\t [E]lf\t [D]warf\t [O]rc\t [G]nome");
获得了一个非常随机的间距的印记,其中放置了\ t。我也用过这种相同类型的东西:
System.out.println("Which of the following are you?\n[W]arrior\t [R]ogue\t [M]agician");
为\ t获得完美间隔的休息时间。有什么理由会让我与第一个人有这么奇怪的间距?
答案 0 :(得分:7)
\ t是标签。打开常规文本编辑器并检查选项卡的行为方式。它缩进到某个位置。它不会插入x个空格。
答案 1 :(得分:2)
\t
插入一个TAB字符,而不是空格。知道了这一点,你不应该使用标签来格式化数据的输出。
由于这会向用户显示数据,因此最好使用String#format
,这样可以为文本的左侧和右侧提供空格。
以下是使用%-15s
的示例:
//splitted in 2 lines for better understanding
String outputText = String.format("Of what race do you belong? %-15s %-15s %-15s %-15s %-15s",
"[H]uman", "[E]lf", "[D]warf", "[O]rc", "[G]nome");
System.out.println(outputText);
其中:
%s
表示它会在输出中添加String
。15
是找到字符串的空格数-
表示应该左对齐。上面的代码输出:
Of what race do you belong? [H]uman [E]lf [D]warf [O]rc [G]nome
只需修改-15
即可缩短空格的长度。
有关如何正确格式化输出文本的详细信息:
String#format
时幕后使用的java.util.Formatter
课程。请注意,使用System.out.printf
也会在场景后面使用Formatter
。
答案 2 :(得分:1)
\t
字符是制表字符。
后续标签行为不一致",因为它们不会显示相同数量的空间。
您应该使用常规数量的空格。
类似的东西:
System.out.println("Of what race do you belong?\n[H]uman [E]lf [D]warf [O]rc [G]nome");
答案 3 :(得分:0)
使用\t
时,您要添加标签而不是空格。
答案 4 :(得分:0)
正如其他人所说的那样\ t是标签,空格总是一列,但标签可能是不同数量的列,具体取决于您的环境。