@DS_JS

Как построить логику приложения?

Доброго времени суток, я только начал изучать програмирование и у меня есть небольшая задачка
имеем поле для ввода текста вводим слово и нажимаем на кнопку и получаем цифру
есть алфавит в котором к каждому символу присвоена своя цифра и поле для ввода текста editText полученное слово нужно разбить на отдельные символы и посчитать сумму всех цифр принадлежащих етим символам
подскажите как правильно построить логику
создавать каждый символ как отдельную переменную и присваивать нужную цифру или лучше загнать алфавит в массив А и создать отдельный массив В с цифрами и через поиск по индексу присваивать нужную цифру?
Хотелось бы подчеркнуть что так как я новичек и хочу всему научиться прошу более детально пояснить почему и как лучше
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 2
azerphoenix
@azerphoenix Куратор тега Java
Можно по-разному реализовать вашу задачу. Если никаких ограничений нет, то можете посмотреть в сторону:
1) использовать 2 массива. Первый char[], а второй int[]. Далее как вы и упомянули по индексу достаете нужное значение.
2) Либо использовать Map. Например, ее реализацию HashMap.
3) Либо например, в пакете apache commons lang3 есть объект Pair. И можно использовать что-то типа List<Pair<Character, Integer>>.

В любом случае все будет сводится к следующему:
- получаете слово (строку) разбиваете его на characters.
- объявляете переменную int, в которой будут суммироваться значения букв
- далее в зависимости от выбранного массива или коллекции итерируете по нему и при совпадении буквы получаете ее числовое значение и прибавляете к вышеобъявленной переменной.

Примерно как-то так
Ответ написан
LaRN
@LaRN
Senior Developer
Можно и одним массивом обойтись, если положить по индексу равном коду символа его цифру.
Например если ваш алфавит начинается с латинской А, то можно посчитать её за 0 и
заполнить массив так
int [] code;
code[0] =1; // символ A
code[1] =2; // символ B
...
А искать нужный код так:
code[(char) x - (char) 'A')]
x - это переменная в которую последовательно считывается символы из введенной строки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы