如何在 Java 中居中文字輸出
一、簡介
在基於Java的文字應用程式中,通常需要以文字為中心。 Additionally, by centering the text while developing an application for Xbox, line-of-the-command tool, or any other application that involves improving the visual representation of text while user inputs, the user is likely to have a good experience in using that程式.
在本教程中,我們將深入研究在 Java 中居中對齊文字輸出的不同方法。
2. 使用String
格式
在 Java 中,使用String
類別的format()
方法可以提供最快的文字居中方法。讓我們看下面的例子:
@Test
public void givenTextAndTotalWidth_whenUsingStringFormat_thenTextIsCentered() {
String text = "Centered Text";
int totalWidth = 15;
int padding = (totalWidth - text.length()) / 2;
String centeredText = String.format("%" + padding + "s%s%" + padding + "s", "", text, "");
Assert.assertEquals(" Centered Text ", centeredText);
}
在這個測試方法中,我們希望在 20 個字元的總寬度內顯示「 Centered Text
」。因此,我們計算兩側需要多少間距。然後,我們使用名為String.format()
的方法填入所需數量的長度等於空格數的字串,以設定正確的字元數。
3.使用StringBuilder
以建構文字為中心的另一種方法是透過StringBuilder
。它可以進行更多的對齊調整,因此更加靈活。讓我們看下面的例子:
@Test
public void givenTextAndTotalWidth_whenCenterUsingStringBuilder_thenTextIsCentered() {
String text = "Centered Text";
int width = 15;
int padding = (width - text.length()) / 2;
StringBuilder centeredText = new StringBuilder();
for (int i = 0; i < padding; i++) {
centeredText.append(" ");
}
centeredText.append(text);
for (int i = 0; i < padding; i++) {
centeredText.append(" ");
}
String centeredTextString = centeredText.toString();
assertEquals(" Centered Text ", centeredTextString);
}
在上面的測試方法中,我們建立一個StringBuilder
,在其中用空格填充它以添加所需的填充空間並附加我們的主要內容。然後,在列印居中文字之前再次填充以添加其餘的填充空間。
4. 使用StringUtils
一種更簡單的文字居中方法是利用 Apache Commons Lang 的StringUtils
類別的center()
方法,該類別是專門為此目的而創建的。我們來練習一下下面的例子:
@Test
public void givenTextAndTotalWidth_whenUsingStringUtilsCenterMethod_thenTextIsCentered() {
String text = "Centered Text";
int width = 15;
String centeredText = StringUtils.center(text, width);
assertEquals(" Centered Text ", centeredText);
}
在上面的測試方法中,我們使用StringUtils
類別的center()
方法,該方法取得text
字串及其總寬度。然後它將文字在指定的寬度內居中。
5. 結論
總之,我們可以說 Java 中有多種方法可以將文字輸出置中,例如String
格式化、 StringBuilder
和 Apache Commons Lang 庫中的StringUtils
。
此外,這些方法增強了基於 Java 文字的應用程式的美觀性,並且使用者發現與它們互動很容易。
與往常一樣,本文的完整程式碼範例可以在 GitHub 上找到。