我做了一个程序,应该在行的末尾输出2个字符串列表(2到5之间的任何地方),我想在括号中打印一个int。
我无法正确对齐int和括号。
所有的printf格式都没有帮助移动int及其周围的括号!
while (dealerPoints < 17 && playerBust == false) {
System.out.printf("\nDealer has less than 17. He hits...\n");
int nextDealerCard = dealCard();
dealerPoints += cardValue(nextDealerCard);
dealerHand += faceCard(nextDealerCard);
System.out.printf("Dealer: %s\t[%d]\n", dealerHand, dealerPoints);
System.out.printf("Player: %s\t[%d]\n", playerHand, playerPoints);
}
当一行中有4个字符串而另一行只有2个字符串时,int和括号不会相互对齐(4个字符串之后的字符串会被标记过多)
答案 0 :(得分:0)
System.out.printf("Dealer: %s\t[%10d]\n", "lala", 22222);
System.out.printf("Player: %s\t[%10d]\n", "hoho", 33);
输出:
Dealer: lala [ 22222]
Player: hoho [ 33]
这就是你想要的吗?
答案 1 :(得分:0)
如果你想要正确对齐,你也可以 - 将输出作为CSV写入文件,并在类似Excel的程序中打开 - 创建一个实用程序类,使任何输入字符串的长度恒定:
public static String fixedCharCount( String input, int length ) {
int spacesToAdd = length - input.lengh();
StringBuffer buff = new StringBuffer(input);
for( int i=0; i<spacesToAdd; i++) {
buff.append(" ");
}
return buff.toString();
}
您还可以循环显示所有数据,以查看表格中最长的字符串,并调整其长度(代码不完整:您必须检查'spacesToAdd'是否为正。