如何正确使用String.format与2个不同的传入数组源?

时间:2012-08-26 22:33:44

标签: java arrays string

我希望知道在这种情况下使用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 ......我有点迷失在这里...提前谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

如上所述,拥有:

会更有效率
StringBuilder list = new StringBuilder();

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