2015-02-10 159 views
-3

刚开始学习java,我试图用最简单的方式制作一个带有JPanes的计算器。我可以设法让它做简单的连接,但我无法得到它添加输入的数字在一起。任何帮助表示赞赏。基本的Java计算器

import javax.swing.*; 

public class fiveInputs{ 
    public static void main (String [] args) { 

     java.lang.String num = ""; 
     java.lang.String num2 = ""; 
     java.lang.String num3 = ""; 
     java.lang.String num4 = ""; 
     java.lang.String num5 = ""; 

     num = JOptionPane.showInputDialog("First number: "); 
     num2 = JOptionPane.showInputDialog("Second number: "); 
     num3 = JOptionPane.showInputDialog("Third number: "); 
     num4 = JOptionPane.showInputDialog("Fourth number: "); 
     num5 = JOptionPane.showInputDialog("Fifth number: "); 

     java.lang.String sum = ""; 

     if (sum.equals("")); 
      JOptionPane.showInputDialog (num - num2 - num3 - num4 - num5); 

     System.out.println(sum); 

    } 
} 
+3

当您尝试从字符串中减去字符串时会发生什么?另外,这个if语句if(sum.equals(“”));'不管它是否为真。 – Compass 2015-02-10 21:19:33

+0

另请参阅此[计算器示例](http://stackoverflow.com/a/7441804/418556)。它使用'ScriptEngine'来评估文本字段中的表达式。 – 2015-02-10 21:44:32

回答

1

不能像字符串一样添加和减去字符串。你需要把它解析为一个数值类型,例如整数,双,等

int num = Integer.parseInt(JOptionPane.showInputDialog("First number: ")); 
int num2 = Integer.parseInt(JOptionPane.showInputDialog("Second number: ")); 
int num3 = Integer.parseInt(JOptionPane.showInputDialog("Third number: ")); 
int num4 = Integer.parseInt(JOptionPane.showInputDialog("Fourth number: ")); 
int num5 = Integer.parseInt(JOptionPane.showInputDialog("Fifth number: ")); 

的Integer.parseInt可以,如果你给它的东西它不为一些例如把抛出一个异常的NumberFormat abc,一个空字符串等等。以此作为任何验证的起点。

夫妇旁白的

  • java.lang.String中,java.lang中所有的类都是含蓄进口的,你不需要包
  • 你不需要在声明所有的变量像某些语言一样的方法的顶部,只要将范围限制在最佳范围内就可以做到。