不兼容的类型错误

时间:2011-10-05 15:34:55

标签: java

import javax.swing.JOptionPane;
public class Result
{
public static void main (String[] args)
{
    int numa;
    int numb;
    int sum;
    String num1 = JOptionPane.showInputDialog(null,"Enter 1st Number: ");
    numa=Integer.parseInt(num1);
    String num2 = JOptionPane.showInputDialog(null,"Enter 2nd Number: ");
    numb=Integer.parseInt(num2);
    {
        sum=num1+num2;
    }

    if (sum>=10)
        JOptionPane.showMessageDialog(null,"Congratulations"+sum);
        else if(sum<10)
            JOptionPane.showMessageDialog(null,"the sum of the number less than 10");
            else if(sum>100)
                System.exit(7);
}
}

2 个答案:

答案 0 :(得分:4)

这一行:

sum=num1+num2;

正在尝试将两个字符串组合在一起并生成int

相反,你想要:

sum = numa + numb;

换句话说,从字符串中取出你刚刚解析的值,并将它们加在一起。

另外,我建议:

  • 尽可能在首次使用变量时声明变量(通常是赋值)
  • 不要仅为了它而添加大括号(例如,对于此sum行)但是......
  • 为清晰起见,
  • ... 执行为所有if块添加大括号
  • 适当地缩进所有代码(根据方法的结尾,不应该有两个括号排列)
  • 除非你真的需要使用Swing,否则不要打扰 - 如果从控制台获取输入并将答案写入控制台,而不是显示消息框,则此应用程序会更简单

答案 1 :(得分:2)

sum = numa + numb

你试图添加两个字符串。

编辑:再次发生争吵!