import java.util.Scanner;
import java.util.HashMap;
import java.util.Map;
class EGE2 {
public static void main(String[] args) {
Map<String, Integer> hashMap = new HashMap<>();
int size,i;
Scanner scanner = new Scanner(System.in);
hashMap.put("One", 1);
hashMap.put("Two",2);
hashMap.put("Three", 3);
hashMap.put("Four", 4);
hashMap.put("Five", 5);
hashMap.put("Six", 6);
hashMap.put("Seven", 7);
hashMap.put("Eight", 8);
hashMap.put("Nine", 9);
hashMap.put("Ten", 10);
hashMap.put("Twenty", 20);
hashMap.put("Thirty", 30);
size = scanner.nextInt();
for (i = 0; i<size; i++){
String line = "";
line = scanner.next();
if(line.equals("stop")){
break;
Integer map = hashMap.get(line);
System.out.println(map);
}
}
}
Сначала я ввожу словами числа. Затем на вход программе подаётся значение N — количество записей, которые необходимо обработать Следующие N строк содержат записанные словами числа. Каждое число записано по-английски, маленькими буквами, без ошибок. Если число состоит из нескольких слов, между словами находится ровно один пробел, лишних пробелов в начале и в конце строк нет. Нужно чтобы программа определяла сумму входных чисел,которые ввожу словами
Насколько я понимаю вы хотите чтобы пользователь вводил какую-либо строку, после чего вы проходите по хеш-таблице и в случае если такая строка там есть, то берете оттуда числовое значение и все это суммируете в одну переменную.
int res = 0;
for (i = 0; i<size; i++){
String line = scanner.nextLine();
for (Map.Entry<String,Integer> map : hashMap.entrySet()) {
String key = map.getKey();
Integer value = map.getValue();
if (line.equalsIgnoreCase(key))
res += value;
if (line.equalsIgnoreCase("stop"))
break;
}
}
System.out.println(res);
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости