How could I get values from Map? I study Collections and wanna leave that order <String, Integer>. I tried before <Integer, String> and in loop I put res.append(map.get(num)); — that's help me. But have no clue how to do it in reverse order. Also I red https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html#get-java.lang.Object-, but I know exactly that I have a key..
import java.util.LinkedHashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
int x = 555;
String result = romanianConverter(x);
System.out.println(result);
}
public static String romanianConverter(int value) {
Map<String, Integer> map = new LinkedHashMap<>();
// map.put(1000, "M");
// map.put(900,"CM");
// map.put(500,"D");
// map.put(400,"CD");
// map.put(100,"C" );
// map.put(90,"XC" );
// map.put(50,"L" );
// map.put(40,"XL");
// map.put(10,"X" );
// map.put(9,"IX" );
// map.put(5,"V" );
// map.put(4,"IV" );
// map.put(1,"I" );
map.put("M", 1000);
map.put("CM", 900);
map.put("D", 500);
map.put("CD", 400);
map.put("C", 100);
map.put("XC", 90);
map.put("L", 50);
map.put("XL", 40);
map.put("X", 10);
map.put("IX", 9);
map.put("V", 5);
map.put("IV", 4);
map.put("I", 1);
StringBuilder stringBuilder = new StringBuilder("Result = ");
for (int number2 : map.values()) {
while (number2 <= value) {
stringBuilder.append(map.keySet().add(number2));
value -= number2;
}
}
return stringBuilder.toString();
}
}