Java 基于键盘输入的返回值?

Java 基于键盘输入的返回值?,java,input,Java,Input,如果用户输入“C”,我只希望输出为12.0 输入“H”也是如此。 问题是输入被存储为字符串是否正确? 我已尝试将字符串转换为double-through-double.parseDouble 与其将值存储为字段,不如将其存储在地图中: private static final Map<String, Double> values = new HashMap<String, Double>(); static { values.put("H", 1.0);

如果用户输入“C”,我只希望输出为12.0 输入“H”也是如此。 问题是输入被存储为字符串是否正确? 我已尝试将字符串转换为double-through-double.parseDouble



与其将值存储为字段,不如将其存储在地图中:

private static final Map<String, Double> values = new HashMap<String, Double>();
static {
    values.put("H", 1.0);
    values.put("Li", 6.9);
    // and so on...
}

使用当前的常量字段的唯一方法是反射,您确实不想去那里。

与其将值存储为字段,不如将它们存储在地图中:

private static final Map<String, Double> values = new HashMap<String, Double>();
static {
    values.put("H", 1.0);
    values.put("Li", 6.9);
    // and so on...
}

使用当前的常量字段进行此操作的唯一方法是反射,您真的不想去那里。

贴图将解决您的问题。映射返回特定键的值

java.util.HashMap<String, Double> map = new java.util.HashMap<String, Double>();
map.put("C", 12.0);
map.put("H", 1.0);
map.put("B", 10.8);

地图可以解决你的问题。映射返回特定键的值

java.util.HashMap<String, Double> map = new java.util.HashMap<String, Double>();
map.put("C", 12.0);
map.put("H", 1.0);
map.put("B", 10.8);

您是否考虑过使用输入使用Switch/case语句

您是否考虑过使用输入使用Switch/case语句

这甚至不会编译。你能告诉我们你试过什么吗?这甚至不能编译。你能告诉我们你试过什么吗?
Double value = map.get(inputString);