String.format("%-" + 3 + "." + 3 + "s", givenString);這應該添加空格,但它沒有。我在在線編譯器上進行了嘗試,它會將數字加到字符串中。我不明白那在做什么。有人可以解釋一下嗎?
1 回答

尚方寶劍之說
TA貢獻1788條經驗 獲得超4個贊
public static String format(String format, Object... args)- 這是方法聲明。
String format = "%-" + 3 + '.' + 3 + 's'; // = %-3.3s
String.format(format, givenString);
這用于format動態構建,但其中沒有變量,因此您可以將其替換為String.format("%-3.3s", givenString);
根據格式,這將打印一個長度最多為3 個字符的字符串。它每行保留 3 個符號,并且在 givenString 長度小于 3 個字符的情況下左對齊。
演示:
System.out.println(String.format("%-3.3s", "ab")); // "ab "
System.out.println(String.format("%-3.3s", "abc")); // "abc"
System.out.println(String.format("%-3.3s", "abcd")); // "abc"
System.out.println(String.format("%-3.3s", "a") + String.format("%-3.3s", "b")); // "a b "
在文檔中查看更多信息
添加回答
舉報
0/150
提交
取消