使用null使用If-else获取错误

时间:2014-09-28 00:49:31

标签: java

我是初学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!");
 }

3 个答案:

答案 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设置为一行中的truefalse;而不是isGood == false我写

if (!isGood)

但我试图坚持更简单的概念。

我没有足够的信息来说明为什么你会得到一个&#34;糟糕的操作数类型&#34;错误。