0

JOptionPane を使用して簡単な電卓を作成しようとしています。コンパイル エラーが発生しました。

import javax.swing.JOptionPane; 

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


     double n1 = Double.parseDouble(JOptionPane.showInputDialog(" Enter first number: "));
     double n2 = Double.parseDouble(JOptionPane.showInputDialog(" Enter second number: "));
     String x = JOptionPane.showInputDialog("Enter operator: ");
     double result;

     if (x == "+"){
         result = (n1 + n2);
           JOptionPane.showMessageDialog(n1, "+", n2,"=", result); 
           }

        else if (x == "-"){
         result = (n1 - n2); 
           JOptionPane.showMessageDialog(n1,"-", n2,"=", result); 
           }


        else if (x == "/"){
            result = (n1 / n2);
            JOptionPane.showMessageDialog(n1,"/", n2,"=", result); }
        else if (n2 == 0){
                JOptionPane.showMessageDialog(null, "Cannot divide by 0"); }


        else if (x == "*"){
            result = (n1 * n2); 
            JOptionPane.showMessageDialog(n1,"*", n2,"=", result); }


        else if (x == "%"){
               result = (n1 % n2);
               JOptionPane.showMessageDialog(n1,"%", n2,"=",(n1%n2)); }
  }
}

私のコードは、これらのコンパイル エラーを引き起こします。

5 個のエラーが見つかりました: ファイル: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java [行: 14] エラー: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator. java:14: シンボル symbol が見つかりません: メソッド showMessageDialog(double,java.lang.String,double,java.lang.String,double) 場所: クラス javax.swing.JOptionPane ファイル: /Users/gcaruso/Documents/CISS 110/ Module 3/Module 4/Calculator.java [行: 19] エラー: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java:19: シンボル symbol が見つかりません: メソッド showMessageDialog(double,java. lang.String,double,java.lang.String,double) 場所: class javax.swing.JOptionPane ファイル: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java [行: 25] エラー: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java:25: シンボル symbol が見つかりません:メソッド showMessageDialog(double,java.lang.String,double,java.lang.String,double) 場所: class javax.swing.JOptionPane ファイル: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java [行: 32] エラー: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java:32: シンボル symbol が見つかりません: メソッド showMessageDialog(double,java.lang.String,double,java.lang .String,double) 場所: class javax.swing.JOptionPane ファイル: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java [行: 37] エラー: /Users/gcaruso/Documents/CISS 110 /Module 3/Module 4/Calculator.java:37: シンボル symbol が見つかりません: メソッド showMessageDialog(double,java.lang.String,double,java.lang.String,double) 場所: クラス javax.swing.JOptionPane/Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java [行: 32] エラー: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java:32: 見つかりませんシンボル シンボル: メソッド showMessageDialog(double,java.lang.String,double,java.lang.String,double) 場所: クラス javax.swing.JOptionPane ファイル: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/ Calculator.java [行: 37] エラー: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java:37: シンボル symbol が見つかりません: メソッド showMessageDialog(double,java.lang.String,double, java.lang.String,double) 場所: クラス javax.swing.JOptionPane/Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java [行: 32] エラー: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java:32: 見つかりませんシンボル シンボル: メソッド showMessageDialog(double,java.lang.String,double,java.lang.String,double) 場所: クラス javax.swing.JOptionPane ファイル: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/ Calculator.java [行: 37] エラー: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java:37: シンボル symbol が見つかりません: メソッド showMessageDialog(double,java.lang.String,double, java.lang.String,double) 場所: クラス javax.swing.JOptionPanedouble,java.lang.String,double) 場所: class javax.swing.JOptionPane ファイル: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java [行: 37] エラー: /Users/gcaruso /Documents/CISS 110/Module 3/Module 4/Calculator.java:37: シンボル symbol が見つかりません: メソッド showMessageDialog(double,java.lang.String,double,java.lang.String,double) 場所: クラス javax.swing .JOptionPanedouble,java.lang.String,double) 場所: class javax.swing.JOptionPane ファイル: /Users/gcaruso/Documents/CISS 110/Module 3/Module 4/Calculator.java [行: 37] エラー: /Users/gcaruso /Documents/CISS 110/Module 3/Module 4/Calculator.java:37: シンボル symbol が見つかりません: メソッド showMessageDialog(double,java.lang.String,double,java.lang.String,double) 場所: クラス javax.swing .JOptionPane

4

2 に答える 2

2

私はそれを終えたので、すべてがうまくいきます:

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Calculator extends JPanel {
    public static void main(String args[]) {

        JFrame f = new JFrame();

        double n1 = Double.parseDouble(JOptionPane
                .showInputDialog(" Enter first number: "));
        double n2 = Double.parseDouble(JOptionPane
                .showInputDialog(" Enter second number: "));
        String x = JOptionPane.showInputDialog("Enter operator: ");
        double result;

        if (x.equals("+")) {
            result = (n1 + n2);
            JOptionPane.showMessageDialog(f, n1 + "+" + n2 + "=" + result);
            System.out.println(x);
        }

        else if (x.equals("-")) {
            result = (n1 - n2);
            JOptionPane.showMessageDialog(f, n1 + "-" + n2 + "=" + result);
            System.out.println(x);
        }

        else if (x.equals("/")) {
            if (n2 == 0) {
                JOptionPane.showMessageDialog(null, "Cannot divide by 0");
            }else{
            result = (n1 / n2);
            JOptionPane.showMessageDialog(f, n1 + "/" + n2 + "=" + result);
            System.out.println(x);
            }
        }

        else if (x.equals("*")) {
            result = (n1 * n2);
            JOptionPane.showMessageDialog(f, n1 + "*" + n2 + "=" + result);
        }

        else if (x.equals("%")) {
            result = (n1 % n2);
            JOptionPane.showMessageDialog(f, n1 + "%" + n2 + "=" + (n1 % n2));
        }
    }
}

「==」は「.equals」と同じではありません -

.equals は、2 つのオブジェクトの値を比較します

== Java で同じオブジェクトかどうかを比較します ~

于 2014-10-08T16:01:21.853 に答える