我正在制作一款简单的纸牌游戏,并遇到了一些奇怪的事情。当我使用这段代码时:
System.out.println("Computer:\t"+6+" cards");
System.out.println("Player:\t"+7+" cards");
它忽略了第二个语句中的选项卡。如果我像这样放入另一个表格,我可以轻松解决这个问题:
System.out.println("Computer:\t"+6+" cards");
System.out.println("Player:\t\t"+7+" cards");
但我想知道为什么忽略第一个标签。
答案 0 :(得分:1)
您的标签字符实际上并未被忽略。打印制表符的长度一直到下一个可被4整除的位置。例如,请参阅此IDEOne program的输出。
如您所见,以下行的结果代码为:
System.out.println("a\ta\ta\ta");
System.out.println("ab\tab\tab\tab");
System.out.println("abc\tabc\tabc\tabc");
如下:
Line1: a a a a
Line2: ab ab ab ab
Line3: abc abc abc abc
单独选项卡的长度为4.但是打印选项卡会填充可变长度的空格,直到达到可被4整除的位置。第一行中标签的填充空间为3,因为a
占用1个长度,第二行的标签填充空间为2,因为ab
占用2长度等。
我希望有所帮助。