1
작업 : 콘솔에서 글자의 양을 계산합니다.TreeMap 무엇이 "ё"로 잘못 되었습니까?
문제 : 문자 "ё";
는public static void main(String[] args) throws Exception{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String abc = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"; //alphabet
//String abc = "абвгдежзийклмнопрстуфхцчшщъыьэюя"; // without "ё";
//String abc = "abcdefghijklmnopqrstuvwxyz";// eng
char[] abcArray = abc.toCharArray();
ArrayList<Character> alphabet = new ArrayList<Character>();
for (int i = 0; i < abcArray.length; i++)
{
alphabet.add(abcArray[i]);
}
//read console
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < 10; i++)
{
String s = reader.readLine();
if (s.isEmpty()) break;
list.add(s.toLowerCase());
}
Map<Character, Integer> result = new TreeMap<Character, Integer>();
for (Character x : alphabet){
int count = 0;
for (String y : list){
char[] data = y.toCharArray();
for (int i = 0; i < data.length; i++) {
if (x.equals(data[i])){
count++;
}
}
result.put(x,count);
}
}
for (Map.Entry<Character, Integer> p : result.entrySet()){
System.out.println(p.getKey() + " " + p.getValue());
}
}
출력 코드
абвгдеёжзийклмнопрстуфхцчшщъыьэюя а 1 б 1 в 1 г 1 д 1 е 1 ж 1 з 1 и 1 й 1 к 1 л 1 м 1 н 1 о 1 п 1 р 1 с 1 т 1 у 1 ф 1 х 1 ц 1 ч 1 ш 1 щ 1 ъ 1 ы 1 ь 1 э 1 ю 1 я 1 ё 1
편지 목록의 하단에있는 "ё"하지만, "E"와 "ж"
사용 알파벳 만약이없는 사이 여야합니다 "ё"또는 영어 알파벳 - 모든 글자의 위치를 유지합니다. 제 질문은 : 그것은 왜 일어 났습니까? 내가 뭔가 잘못한거야? 필연적으로지도를 사용해야합니다.
스크린 샷에 대한 링크가 아닌 질문 자체에 필수 정보를 포함하십시오. – khelwood