Мне нужно создать Java-программу, которая принимает строковый массив стран и выводит название стран и сколько раз они находятся в массиве.Java-массив из стран
Пример:
String[] countries = {"Mexico","Russia","USA","Russia","Mexico",
"USA","Germany", "Mexico", "Canada" };
Мне нужен выход, чтобы быть:
Mexico 3
Russia 2
USA 2
Germany 1
Canada 1
Вот что я до сих пор:
public class TestingTwo {
public static void main (String args[]) {
String[] countries = {"Mexico","Russia","USA", "Russia","Mexico", "USA","Germany", "Mexico", "Canada" };
int i;
int j;
for(i=0;i<countries.length-1;i++) {
int count=0;
for(j=i+1;j<countries.length;j++) {
if ((countries[i]==countries[j]) && (i != j)) {
count++;
System.out.println(countries[j]+ " " + count);
}
}
}
}//end of main method
}//end of class
Выход им получаю:
Mexico 1
Mexico 2
Russia 1
USA 1
Mexico 1
Проблема возникла: У меня возникли проблемы с поиском способа распечатать название страны только один раз. Я могу получить его там, где он печатает страны, у которых есть дубликаты, но он печатает его несколько раз. У меня также есть проблемы с int count и как правильно калибровать количество дубликатов.
Есть ли у вас конкретная проблема? – Coderchu
Да, им не удалось найти способ распечатать имя страны один раз. Я могу получить его там, где он печатает страны, у которых есть дубликаты, но он печатает его несколько раз. У меня также есть проблемы с int count и как правильно калибровать количество дубликатов. –
Я бы предложил создать двухмерный массив, один столбец с именем страны другим с подсчетом. когда вы перебираете свой вход, сначала проверьте, существует ли название страны, если да добавьте 1 к счету, иначе добавьте его в массив. Затем просто распечатайте этот массив, когда закончите. – Coderchu