Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите упростить код java

natalja muzq4enko Ученик (124), закрыт 11 лет назад
String word = "people";
Map< String, Integer > map = new HashMap< String, Integer >();
for (int i = 0; i < word.length(); i++) {
String letter = word.substring(i,i+1);
if( map.containsKey(letter) ) {
map.put(letter, new Integer(( Integer )map.get(letter).intValue() + 1));
} else {
map.put(letter, new Integer(1));
}
}
System.out.println(map.toString());
}
}
Дополнен 12 лет назад
Александр и ra!
Огромное Вам спасибо! Никто не собирался присваивать.... Мне хотелось разъяснить для себя тонкости. Благодаря ra! что более менее мне удалось. (т. к описал действия и принцип в общем)
Александр я Вам тоже благодарна.. . Но наверно это рубрика не просто так называется "ответы", никто не собирался присваивать Ваш код. Да, в первую очередь, я хотела сама понять принцип работы. Так как мне интересно. Что касается изучения Java, учу. У тех кто не учит, не возникают вопросов. Если Вы решились помочь человеку, не надо поучать, как ему делать. так как Вы не знаете всех деталей. Спасибо еще раз за работу Вашей умной головы.
Лучший ответ
ra Высший разум (113247) 12 лет назад
import java.util.*;

public class q74706399 {
public static void main(String[] args) {
String s = "эйяфьядлайёкюдль";
System.out.println("Слово: '" + s + "'");
Set< Character > m = new HashSet< Character >();
for ( char ch : s.toCharArray() ) m.add(ch);
System.out.println("Количество различных букв: " + m.size());
System.out.println("Буквы: " + m.toString());
}
}

Александр:
> то поймёте что речь шла о подсчёте количества по каждой букве в слове.

Вот задание:
2.Дано слово. Определить, сколько различных букв в нем.

Где здесь идет речь о подсчете количества каждой буквы? По моему, речь как раз идет о подсчете количества используемых в слове различных букв!

Остальные ответы
asdads asddas Ученик (113) 12 лет назад
женские головы программируют, ох
Namolem Просветленный (22053) 12 лет назад
Код заносит в хэшкарту количество появления каждой буквы в слове?

ЗАчем тогда используется тип String, разве Java не поддерживает char ?
И из строк символ обычно можно вынести простой операцией индексации letter = word;

Александр Искусственный Интеллект (293757) 12 лет назад
asdads asddas
это вы о моей голове? говорю к тому что код мой.

ra
если вы прочитаете в чём была суть задания (на которое я этому юзеру дал готовое решение, то поймёте что речь шла о подсчёте количества по каждой букве в слове.
ваша же программа считает какие буквы в слове и сколько букв вообще.

Валерий Осипов
стринг не работает как массив букв. так что вы ошибаетесь.
и в этом коде я применил String вместо Character (да, это моим кодом тут юзел ленивый размахивает) потому что мне так больше нравится. разве есть какая-то разница меду сохранением в хашмапе стринга или символа? в любом случае, требуется НЕпримитив. и стринг обладает как свойствами объекта, так и примитива. в то время как с символом потребовалось бы.. . эээ.. . лучшее не буду продолжать. умные и так допрут...
Похожие вопросы