我是初学Java学生,如果选择的数字为负数或0,则尝试使用此代码显示第二个JOptionPane。如果我选择0或负数,则不会出现第二个JOption。我怀疑它与“if(result!= null)”有关。我尝试使用不同的操作数和值,并继续得到错误的操作数类型错误。我想坚持使用if-else语句,因为那就是我们现在在课堂上的位置。
public static void calculateR()
{
String result = JOptionPane.showInputDialog(null, "Enter how much money you can save annually.");
if(result != null)
{
saveAmount = Double.parseDouble(result);
}
else
{
JOptionPane.showMessageDialog(null, "Pick a number greater than 0!");
}
答案 0 :(得分:0)
null不是0.而且!=不是< =。而且,你回来了一个字符串。你只能知道解析它之后的数字。只有这样你才能决定。
答案 1 :(得分:0)
你应该使用这样的代码逻辑:
saveAmount = 0.0;
String result;
while (saveAmount <= 0) {
result = JOptionPane.showInputDialog(null, "Enter how much money you can save annually.")
if (result != null) {
saveAmount = Double.parseDouble(result);
if (saveAmount < 0.0) {
JOptionPane.showMessageDialog(null, "Pick a number greater than 0!");
}
}
}
答案 2 :(得分:0)
我不知道你是否已经在课堂上报道了booleans
,但我做了类似的事情:
boolean isGood;
String result = JOptionPane.showInputDialog(null, "Enter how much money you can save annually.");
if(result != null)
{
saveAmount = Double.parseDouble(result);
if (saveAmount > 0)
{
isGood = true;
}
else
{
isGood = false;
}
}
else
{
isGood = false;
}
if (isGood == false)
{
JOptionPane.showMessageDialog(null, "Pick a number greater than 0!");
}
那不是我实际上写的方式 - 我将第一部分压缩为
isGood = saveAmount > 0;
将isGood
设置为一行中的true
或false
;而不是isGood == false
我写
if (!isGood)
但我试图坚持更简单的概念。
我没有足够的信息来说明为什么你会得到一个&#34;糟糕的操作数类型&#34;错误。