0

我想知道在这种情况下使用 String.format 的最佳方法......

String names[] = new String[10];
int idNumber[] = new int[10];
String list = "";

for( byte pos = 0; pos < idNumber.length; pos++){
names[pos] = JOptionPane.showInputDialog("Enter the name...");
idNumber[pos] = Integer.parseInt(JOptionPane.showInputDialog("Enther the ID number..."));
list += ("Name: " + names[pos] + "ID: " + idNumber + "\n");
}
JOptionPane.showMessagedialog(null, list);

我希望使用 String.format 来更改“list”的输出

从:

 Name: John Wilson ID: 56
 Name: Edward Sinclair ID: 60
 Name: Bob Stuart ID: 77

至:

 Name: John Wilson     ID: 56
 Name: Edward Sinclair ID: 60
 Name: Bob Stuart      ID: 77

在这种情况下,我如何正确使用 %-10s... %-5s...?我在这里有点迷路......提前谢谢。

4

1 回答 1

0

我真的不明白你在使用 string.format 时遇到了什么问题。你真的试过了吗?

list += ("Name: %20s ID: %02d\n").format(names[pos], idNumber[pos]);

如前所述,拥有以下内容会更有效率:

StringBuilder list = new StringBuilder();

然后替换list += ...list.append(...)

于 2012-08-26T22:45:09.870 回答