Правка от 2 ноября 2017 года:
решаю решаю-все равно не получается!
Поможайте, друзья:
package com.javarush.task.task10.task1016;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/*
Одинаковые слова в списке
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> words = new ArrayList<String>();
for (int i = 0; i < 20; i++) {
words.add(reader.readLine());
}
Map<String, Integer> map = countWords(words);
for (Map.Entry<String, Integer> pair : map.entrySet()) {
System.out.println(pair.getKey() + " " + pair.getValue());
}
}
public static Map<String, Integer> countWords(ArrayList<String> list)
{
HashMap<String, Integer> result = new HashMap<String, Integer>();
//напишите тут ваш код
for (int j = 0; j < list.size(); j++) //берем из изначального списка по 1 слову
{
String temp = list.get(j);
String temp_LowerCase = temp.toLowerCase();
int l = 1;
for (int k = 0; k < j; k++)//проходимся по диапазону "ниже" эталона
{
String test = list.get(k);
if ((test.equals(temp)) && (test.equals(temp_LowerCase))) //проверяем что проверяемая строка равна
//эталону и не содержит заглавных букв
{
l++;
result.put(test, l);
} else if (test.equals(temp)) // если несмотря на то, что в строке могут быть заглавные-строки равны
{
l++;
result.put(test, l);
}
}
for (int z = j + 1; z < list.size(); z++)//проходимся по диапазону "выше" эталона
{
String test2 = list.get(z);
if ((test2.equals(temp)) && (test2.equals(temp_LowerCase))) //проверяем что проверяемая строка равна
//эталону и не содержит заглавных букв
{
l++;
result.put(test2, l);
} else if (test2.equals(temp)) // если несмотря на то, что в строке могут быть заглавные-строки равны
{
l++;
result.put(test2, l);
}
l = 1; // приводим счетчик к первоначальному состоянию - чтобы считать количество совпадений
// по след. слову из первоначального списка
}
}
return result;
}
}
package com.javarush.task.task10.task1016;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/*
Одинаковые слова в списке
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> words = new ArrayList<String>();
for (int i = 0; i < 6; i++)
{
words.add(reader.readLine());
}
Map<String, Integer> map = countWords(words);
for (Map.Entry<String, Integer> pair : map.entrySet()) {
System.out.println(pair.getKey() + " " + pair.getValue());
}
}
public static Map<String, Integer> countWords(ArrayList<String> list) {
HashMap<String, Integer> result = new HashMap<String, Integer>();
//напишите тут ваш код
for (int j=0; j<list.size(); j++) //берем из изначального списка по 1 слову
{
String temp = list.get(j);
String temp_LowerCase = temp.toLowerCase();
for (int k=j+1; k<list.size(); k++)
{
String test = list.get(k);
if((test.equals(temp)) && (test.equals(temp_LowerCase))) //проверяем что проверяемая строка равна
//эталону и не содержит заглавных букв
{
int l=1;
l++;
result.put(test, l);
}
else if (test.equals(temp))
{
int l = 1;
l++;
result.put(test, l);
}
else
{
result.put(test, 1);
}
}
}
return result;
}
}