2015-02-10 161 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中所有的類都是含蓄進口的,你不需要包
  • 你不需要在聲明所有的變量像某些語言一樣的方法的頂部,只要將範圍限制在最佳範圍內就可以做到。