不兼容类型的错误

问题描述:

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); 
} 
} 
+0

问题在哪里? –

+0

OMG伙计,错误在哪里?具体问题是什么? – hvgotcodes

+0

我试图做一个编码,允许用户给2编号..和程序将确定如果数字超过10或少于10 ..如果两个数字的总和大于或等于10 ..输出“恭喜”将出现,如果少于10,输出应该是“小于10的数字的总和”,但是在数字总和达到100之后,程序将关闭..但是在总和= num1 + num2时,我有错误“不兼容类型”错误;请帮助我..并告诉任何错误比我不能看到这里 –

这条线:

sum=num1+num2; 

试图添加两个字符串连接在一起,使一个int

相反,你想:

sum = numa + numb; 

换句话说,拿你刚刚解析值从字符串,并添加那些在一起。

此外,我建议:

  • 如果可能的话,在点声明变量您第一次使用它们(通常是分配)
  • 不要加括号只是为了它的缘故(如此sum线),但...
  • ... 加括号的所有if块清晰
  • 缩进所有代码适当地(永远不应该有两个撑杆排队为每EN你的方法)
  • 除非你真的需要使用Swing,不要打扰 - 这个应用程序会更简单,如果它从控制台获取输入并将答案写入控制台,而不是显示消息框。
+0

这的确是这样。 +1 –

+0

是thx我做到了..但我在这里有另一个问题..如何让用户给出超过100的数字总和我的程序关闭? 非常感谢谁帮助我:) –

+0

'if(sum> 100)System.exit(0);'但是你的'if-else'语句错了,试着去检查你自己的。 –

sum = numa + numb 

你正在尝试添加两个字符串。

编辑:skeeted了!

+1

+1虽然skeeted :) – Gandalf