我正在努力制作一个可以给你“理想”体重的程序,并且认为我已经把它弄清楚了。但是,当我运行代码时没有任何反应。我认为这是因为它不适当地检索指标,如果它应该是公制或英制。
String name,heightString,unitString; 双倍高度;
name = nameInput.getText();
unitString = unitInput.getText();
heightString = heightInput.getText();
height = Double.parseDouble(heightString);
if (unitString == "m")
{
outputLabel.setText(name + "'s ideal weight is" + (height * height * 25) + "kgs");
}
else if (unitString == "i")
{
outputLabel.setText(name + "'s ideal weight is" + (height * height * 25 / 703 + "lbs"));
}
这就是我所拥有的,我很确定问题是我没有if语句的条件正确,但我无法找到我应该做的事情。
答案 0 :(得分:2)
使用.equals()
代替==
,如:
if (unitString.equals("m")) {..}
答案 1 :(得分:2)
这是Java吗?如果是这样,那么==
将无法比较字符串。使用.equals()
:
name = nameInput.getText();
unitString = unitInput.getText();
heightString = heightInput.getText();
height = Double.parseDouble(heightString);
if ("m".equals(unitString))
{
outputLabel.setText(name + "'s ideal weight is" + (height * height * 25) + "kgs");
}
else if ("i".equals(unitString))
{
outputLabel.setText(name + "'s ideal weight is" + (height * height * 25 / 703 + "lbs"));
}
如果unitString是NullPointerException
,首先放置字符串文字(“m”)以避免null
。