首先,如果像这样的问题已经得到了回答,我道歉。我试图搜索任何类似的问题,但没有找到任何类似的问题(至少在我使用的关键字方面)。请根据需要调节!这是我在网站上的第一篇帖子。
我在练习弦乐。在Java中格式化,并且在使我的“Name”列的元素都具有相同的宽度时遇到问题。如果相关的话,我正在使用JDK 9。在我下面的代码中,所讨论的问题在for循环块中。我从各自的字符串数组中提取名字和姓氏。我知道如果我把每个全名都做成一个字符串,我就可以解决我的问题,但是为了这个练习,为了进一步提高我的Java技能,我想知道是否有解决这个问题的方法。谢谢:)
public static void grades() {
Random rand = new Random();
// final grade is calculated based on points achieved out of 45. Rounded to 1 decimal
String[] rosterFirst = {"Harry", "Seamus", "Dean", "Neville", "Ron", "Dennis"};
String[] rosterLast = {"Potter", "Finnegan", "Thomas", "Longbottom", "Weasley", "Creevey"};
System.out.println("2018 Hogwarts Graduating Class Scores \n" +
String.format("%2$-25s %1$-12s", "Grade", "Name"));
for (int i = 0; i < rosterFirst.length; i++) {
double finalGrade = (25 + rand.nextDouble() * 20) / 45 * 100;
System.out.println(String.format("%s, %-15s %-12.1f", rosterLast[i], rosterFirst[i], finalGrade));
}
}
输出:
2018 Hogwarts Graduating Class Scores
Name Grade
Potter, Harry 70.3
Finnegan, Seamus 75.9
Thomas, Dean 96.9
Longbottom, Neville 98.2
Weasley, Ron 58.7
Creevey, Dennis 76.0
(不确定此帖子中的代码输出格式是否错误。如果错误,请更正我)