簡體   English   中英

在Java中保持適當的間距

[英]Maintaining proper spacing in Java

我制作了一個程序,該程序應該在該行的末尾輸出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個字符串之后的一個字符串被制表得太遠)

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]

這是你想要的嗎?

如果您想對正,則可以-將輸出以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'為正數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM