類似...
System.out.println(String.format("%-4s %s:", "XXXX", "詞語"));
System.out.println(String.format("%-4s %s:", "YY", "詞語"));
它打印
XXXX 詞語:
YY 詞語:
或者
System.out.println(String.format("%4s %s:", "XXXX", "詞語"));
System.out.println(String.format("%4s %s:", "YY", "詞語"));
它打印
XXXX 詞語:
YY 詞語:
然後,您可以把這個包成一個方法調用,並通過前綴和後綴對爲你做格式
例如...
public class Test1 {
public static void main(String[] args) {
System.out.println(formatLeftAligned("XXXX", "詞語"));
System.out.println(formatLeftAligned("YY", "詞語"));
System.out.println(formatRightAligned("XXXX", "詞語"));
System.out.println(formatRightAligned("YY", "詞語"));
}
public static String formatLeftAligned(String prefix, String suffix) {
return String.format("%-4s %s:", prefix, suffix);
}
public static String formatRightAligned(String prefix, String suffix) {
return String.format("%4s %s:", prefix, suffix);
}
}
或者
public class Test1 {
public static void main(String[] args) {
System.out.println(formatLeftAligned("XXXX", 4, "詞語"));
System.out.println(formatLeftAligned("YY", 4, "詞語"));
System.out.println(formatRightAligned("XXXX", 4, "詞語"));
System.out.println(formatRightAligned("YY", 4, "詞語"));
}
public static String formatLeftAligned(String prefix, int padding, String suffix) {
return String.format("%-" + padding + "s %s:", prefix, suffix);
}
public static String formatRightAligned(String prefix, int padding, String suffix) {
return String.format("%" + padding + "s %s:", prefix, sufix);
}
}
如果你想在填充更多的控制...你甚至可以使用可變參數的方法使該格式的方法來確定填充量它的自我,並返回格式化這些要求String
秒的陣列,作爲一種思想
更新
如果同時需要後綴和前綴,來填充,它可能更容易墊他們分開,例如...
public class Test1 {
public static void main(String[] args) {
System.out.println(String.format("%s %s:", padLeft("XXXX", 4), padLeft("??", 2)));
System.out.println(String.format("%s %s:", padRight("XXXX", 4), padRight("??", 2)));
System.out.println(String.format("%s %s:", padLeft("XXXX", 4), padRight("??", 2)));
System.out.println(String.format("%s %s:", padRight("XXXX", 4), padLeft("??", 2)));
System.out.println(String.format("%s %s:", padLeft("YY", 4), padLeft("??", 2)));
System.out.println(String.format("%s %s:", padRight("YY", 4), padRight("??", 2)));
System.out.println(String.format("%s %s:", padLeft("YY", 4), padRight("??", 2)));
System.out.println(String.format("%s %s:", padRight("YY", 4), padLeft("??", 2)));
System.out.println(String.format("%s %s:", padLeft("XXXX", 4), padLeft("?", 2)));
System.out.println(String.format("%s %s:", padRight("XXXX", 4), padRight("?", 2)));
System.out.println(String.format("%s %s:", padLeft("XXXX", 4), padRight("?", 2)));
System.out.println(String.format("%s %s:", padRight("XXXX", 4), padLeft("?", 2)));
System.out.println(String.format("%s %s:", padLeft("YY", 4), padLeft("?", 2)));
System.out.println(String.format("%s %s:", padRight("YY", 4), padRight("?", 2)));
System.out.println(String.format("%s %s:", padLeft("YY", 4), padRight("?", 2)));
System.out.println(String.format("%s %s:", padRight("YY", 4), padLeft("?", 2)));
}
public static String padLeft(String value, int padding) {
return String.format("%-" + padding + "s", value);
}
public static String padRight(String value, int padding) {
return String.format("%" + padding + "s", value);
}
}
不要忘記你可以複合格式...
XXXX 詞語:
XXXX 詞語:
XXXX 詞語:
XXXX 詞語:
YY 詞語:
YY 詞語:
YY 詞語:
YY 詞語:
XXXX 人 :
XXXX 人:
XXXX 人:
XXXX 人 :
YY 人 :
YY 人:
YY 人:
YY 人 :
更新
關注每一個格式化的需要separatly,例如....
System.out.println(String.format("%s=\"%s\"", padLeft("XXXX", 4), "詞語"));
System.out.println(String.format("%s=\"%s\"", padLeft("YY", 4), "人"));
在這裏,我們從什麼它顯示格式化 「XXXX」 和 「YY」 分開,這個打印...
XXXX="詞語"
YY ="人"
更新
種
字體在這方面發揮了非常大的作用,例如...
正如你所看到的,中國文字擴大超出了「正常」的字符寬度,而事實上,每個中國人性格有它自己的寬度......
更新
如果你使用的鞦韆,你利用它的內置HTML(有限)的支持,例如
StringBuilder sb = new StringBuilder(128);
sb.append("<html><table><tr><td align=left>");
sb.append("詞語");
sb.append("</td><td align=left>");
sb.append("end");
sb.append("</td></tr><tr><td align=left>");
sb.append("人");
sb.append("</td><td align=left>");
sb.append("end");
sb.append("</td></tr></table>");
JOptionPane.showMessageDialog(null, sb);
我會嘗試,現在,你會不會也解釋「%1 $」+ n是什麼意思? – Jaskey 2014-08-28 04:32:26
小心我編輯它'return String.format(「%1 $ - 」+ n +「s」,s); ' – 2014-08-28 04:33:05
我想你是對的但是我試着通過這個詞和n = 8,它不起作用。 n是什麼意思? – Jaskey 2014-08-28 04:40:01