Я разрабатываю приложение, в котором мне нужно присвоить целочисленные значения разным строкам слов. Например, я хочу назначить:
John = 2
Good = 3
Person= 7
Теперь эти John, Good и person являются строками, а 2,3 и 7 — значениями int. Но я так смущен тем, как это реализовать. Я много читал о том, как преобразовать int в строку и строку в int, но это другой случай.
Я даю пользователю возможность ввести текст в editText, и если, например, пользователь вводит «Привет, Джон, ты хороший человек», тогда в этой строке будет 12, так как все три слова Джон, Хороший и человек есть во входном тексте. . Можете ли вы сказать мне, как этого добиться? Я застрял, вот мой маленький код:
String s = "John";
int s_value= 2;
теперь я хочу присвоить это 2 Джону, чтобы всякий раз, когда пользователь вводит ввод, и он содержит Джона, для Джона отображалось значение 2. Пожалуйста, помогите, так как я всего лишь начинающий программист
Вот мой код (отредактировано)
String input = "John good person Man";
Map<String, Integer> map = new HashMap<>();
map.put("John", 2);
map.put("Good", 3);
map.put("Person", 7);
//int number = map.get("Good");
String[] words = input.split(" ");
ArrayList<String> wordsList = new ArrayList<String>();
for(String word : words)
{
wordsList.add(word);
}
for (int ii = 0; ii < wordsList.size(); ii++) {
// get the item as string
for (int j = 0; j < stopwords.length; j++) {
if (wordsList.contains(stopwords[j])) {
wordsList.remove(stopwords[j]);//remove it
}
}
}
for (String str : wordsList) {
Log.e("msg", str + " ");
}
Как вы видите, я применил ваш код, а затем я хочу разделить свою основную строку, чтобы каждое слово этой строки сравнивалось со строками, которые находятся на карте ‹>. Теперь я запутался, что писать в цикле for («стоп-слова» будут заменены чем?)