Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在if语句中使用地名或枚举变量_Java - Fatal编程技术网

Java 在if语句中使用地名或枚举变量

Java 在if语句中使用地名或枚举变量,java,Java,我正在制作一个程序,根据一个州的销售税计算购买物品的最终销售价格。程序将提示用户输入州名称。因此,如果我用joptionpane提示用户,并且用户输入: double State = Double.parseDouble(JOptionPane.showInputDialog("enter state")); 用户输入阿拉斯加 然后,我将为每个州提供一个if语句,以根据该州的销售税执行算术,如: if (State == Alaska) { then blah blah blah }

我正在制作一个程序,根据一个州的销售税计算购买物品的最终销售价格。程序将提示用户输入州名称。因此,如果我用joptionpane提示用户,并且用户输入:

double State = Double.parseDouble(JOptionPane.showInputDialog("enter state"));
用户输入阿拉斯加

然后,我将为每个州提供一个
if
语句,以根据该州的销售税执行算术,如:

if (State == Alaska) 
{
    then blah blah blah
}
问题是我在阿拉斯加遇到了一个无法识别的符号错误,因为它不是一个数字。那么,我如何让一个if语句通过一个要在if语句中使用的数字来识别每个状态呢

比如设置阿拉斯加=1,这样我以后可以说

if (State == 1) {blah blah tax calculations

另外,如果有更好的方法,我洗耳恭听。

例如,将选择存储为
java.lang.String
-

String state = JOptionPane.showInputDialog("enter state");
if ("Alaska".equalsIgnoreCase(state)) {
  // it's Alaska.
}

您当然也可以对照检查,但我建议您从这里开始。

为什么
状态
是一个
双重
???这显然是一个
字符串
。在我看来,硬编码50个州的名称和/或销售税百分比是一个糟糕的主意。属性文件对您有用吗?