【发布时间】:2014-04-02 10:14:58
【问题描述】:
我正在编写一个程序,它接收奥运奖牌数据,并打印出各种信息。就逻辑和结构而言,这个特定部分被证明有点困难。我正在尝试获取 String array 和 int array(它们都是在 main 方法中创建的),将它们传递给新方法,并打印出有关它们的信息。
我的数组如下(请注意String数组是按字母顺序排列的):
String[] country = {"Afghanistan", "Afghanistan", "Canada", "China", "Italy", "Mexico"};
int[] totalMedals = {1, 2, 1, 1, 3, 2};
我想打印出来如下:
Afghanistan, 3 medal(s)
Canada, 1 medal(s)
China, 1 medal(s)
Italy, 3 medal(s)
Mexico, 2 medal(s)
我可以很容易地编写以这种格式列出的程序,但是出现不止一次的国家(在这个示例中...阿富汗)被列出的次数与它在数组中出现的次数一样多。正如所写,我的输出是:
Afghanistan, 1 medal(s)
Afghanistan, 2 medal(s)
Canada, 1 medal(s)
China, 1 medal(s)
Italy, 3 medal(s)
Mexico, 2 medal(s)
阿富汗被列出了两次(为了提供一个重要的背景,这是该计划的一小部分。该计划实际上也包含运动员的名字,但以不同的方式处理)。
任何人都可以就打印出我想要的输出的最佳方式向我提供一些帮助吗?
import java.util.*;
import java.io.*;
public class Project {
public static void main(String[] args) {
String[] country = {"Afghanistan", "Afghanistan", "Canada", "China", "Italy", "Mexico"};
int[] totalMedals = {1, 2, 1, 1, 3, 2};
listCountryMedals(country, totalMedals);
}
//List the grand total of medals for each country...display name only once
public static void listCountryMedals(String[] country, int[] totalMedals) {
for (int i = 0; i < country.length; i++) {
System.out.println(country[i] + ", " + totalMedals[i] + " medal(s)");
}
}
【问题讨论】: