0

JPane から double を取得できないため、文字列を Double に変更しようとしています。オブジェクトが初期化されていないというエラーが表示されます。どうすれば修正できますか?

import javax.swing.JOptionPane;

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

        double a, b, c;
        double sum = a + b + c;
        double product = a * b * c ;
        double avarge = a * b * c / 3;

    String stringA = JOptionPane.showInputDialog
            (null, "Please enter first number");
        a = Double.parseDouble(stringA);

    String stringB = JOptionPane.showInputDialog
            (null, "Please enter second number: ");
        b = Double.parseDouble(stringB);

    String stringC = JOptionPane.showInputDialog
            (null, "Please enter third number: ");  
        c = Double.parseDouble(stringC);

        JOptionPane.showInternalMessageDialog
        (null, "The sum of the 3 numbers is " + sum);

        JOptionPane.showInternalMessageDialog
        (null, "The avarge of the 3 numbers is " + avarge);

        JOptionPane.showInternalMessageDialog
        (null, "The sum of the 3 numbers is " + product);
    }
}
4

3 に答える 3

1
double a, b, c;
double sum = a + b + c;
double product = a * b * c ;
double avarge = a * b * c / 3;

変数を定義しましたが、初期化していません。a、b、c のすべての値が取得されたら、それらを右下に移動します。

もう1つ:親コンポーネントがまったくないため、に変更showInternalMessageDialogします。showMessageDialog

于 2013-04-13T14:48:27.353 に答える
0

変数sum、averge、productの期待値は得られません。最初にその値を計算しています:

double a, b, c;
double sum = a + b + c;
double product = a * b * c ;
double avarge = a * b * c / 3;

a、b、および c はローカル変数であり、使用する前に初期化されていないため、ここでコンパイル エラーが発生する必要があります。そのため、コンパイラはそのような場合にエラーをスローします。が何らかの値に初期化されている場合でも、showInputDialog からこれらの変数に値を割り当てた後、sum、averge、および prodcut の値を計算する必要があります。

これを使ってみてください:

sum = a+b+c;

     JOptionPane.showInternalMessageDialog
    (null, "The sum of the 3 numbers is " + sum);

     averge = (a+b+c)/3;
    JOptionPane.showInternalMessageDialog
    (null, "The avarge of the 3 numbers is " + avarge);
    product = a*b*c;
    JOptionPane.showInternalMessageDialog
    (null, "The sum of the 3 numbers is " + product);
于 2013-04-13T14:45:01.187 に答える
0

変数abcは初期化されていない (値が含まれていない) ためsum、 、productavarage計算できません。これを修正するには、 、、を解析するまでsum、 、productを移動するだけです。このような:avargeabc

import javax.swing.JOptionPane;

public class jwindows {
public static void main (String args[]) {
double a, b, c;

String stringA = JOptionPane.showInputDialog(null, "Please enter first number");
a = Double.parseDouble(stringA);

String stringB = JOptionPane.showInputDialog(null, "Please enter second number: ");
b = Double.parseDouble(stringB);

String stringC = JOptionPane.showInputDialog(null, "Please enter third number: ");  
c = Double.parseDouble(stringC);

double sum = a + b + c;
double product = a * b * c ;
double avarge = a * b * c / 3;

JOptionPane.showMessageDialog(null, "The sum of the 3 numbers is " + sum);
JOptionPane.showMessageDialog(null, "The avarge of the 3 numbers is " + avarge);
JOptionPane.showMessageDialog(null, "The sum of the 3 numbers is " + product);
}
}
于 2013-04-13T14:44:30.553 に答える