Есть LinkedHashMap
, вот часть для примера:
public class Codec {
public Map<String, String> dataMap = new LinkedHashMap<>();
public void putData() {
dataMap.put("affect", "влиять");
dataMap.put("after", "после");
dataMap.put("again", "опять");
dataMap.put("against", "против");
dataMap.put("age", "возраст");
}
}
Мне нужно, чтобы пользователь вводил слово, или несколько за один ввод, на английском, а программа выдавала на русском. Я написал класс с методом, который делает это с одним словом:
public class Do {
Codec codec = new Codec();
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine().toLowerCase();
public void encode() {
codec.putData();
if (codec.dataMap.containsKey(s)) {
System.out.println("ввод пользователя" + " " + s);
System.out.println("Ответ" + " " + codec.dataMap.get(s));
} else {
System.out.println("try one more time");
}
}
}
Ввод пользователя: age
Ответ: возраст
Но я не могу понять, как это правильно сделать с несколькими словами ввода. Извиняюсь заранее, если это простой вопрос, так как только учусь и могу не понимать элементарных вещей.
Попробуйте разобраться для начала с этим кодом. Не забывайте про правила именования переменых и методов, а так же про инкапсуляцию. Удачи
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.stream.Collectors;
public class Codec {
private final Map<String, String> DATA;
public Codec() {
this.DATA = new LinkedHashMap<>();
DATA.put("affect", "влиять");
DATA.put("after", "после");
DATA.put("again", "опять");
DATA.put("against", "против");
DATA.put("age", "возраст");
}
public String execute (String userInput) {
return Arrays.stream(userInput.toLowerCase().split(" "))
.map(t->DATA.getOrDefault(t.trim(), "*"))
.collect(Collectors.joining(" "));
}
}
import java.util.Scanner;
public class Do {
private final static Codec CODEC = new Codec();
public static void main(String[] args) {
String userInput = new Scanner(System.in).nextLine();
String result = CODEC.execute(userInput);
System.out.println("Ввод пользователя : " + userInput);
System.out.println("Ответ : " + result);
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Всплывает такая ошибка: [ERROR] The goal you specified requires a project to execute but there is no POM in this directory (C:\Users\User)Please verify you invoked Maven from the correct directory
У меня есть гамбургер он выводится, все окfontawesome работает
Задавал вопрос по этому же примеру, но с реализацией по генетическому алгоритмуСейчас мне нужно реализовать этот же пример, только с помощью...
Реализую отд множество с использованием бинарного дерева поискаСтолкнулась с такой проблемой: как реализовать в данном случае операции...