2

プログラムにインタラクティブな入力を追加しようとしています。私は何時間もそれに取り組んできましたが、それを理解することはできません. ここにコードがあります -

// This program calculates an employee's take home pay. 
    public class Payrolls
        import javax.swing.JOptionPane;

    {
        public static void main(String args[])
        {
            String salaryString;
            double salary;
            double stateTax;
            double federalTax;
            String numDependentsString;
            double numDependents;
            double dependentDeduction;
            double totalWithholding;
            double takeHomePay;

            salaryString = JOptionPane.showInputDialog ("Enter Salary Here: ");
            salary = double.parseDouble (salaryString);
            numDependentsString = JOptionPane.showInputDialog     ("Enter Number of Dependents: ");
            numDependents = double.parseDouble (numDependentsString);

            // Calculate state tax here.
            stateTax = salary * .06;

            System.out.println("State Tax: $" + stateTax);
            // Calculate federal tax here. 
            federalTax = salary * .25;

            System.out.println("Federal Tax: $" + federalTax);
            // Calculate dependant deduction here.
            dependentDeduction = (salary * .02) * numDependents;

            System.out.println("Dependents: $" + dependentDeduction);
            // Calculate total withholding here.
            totalWithholding = stateTax + federalTax;

            // Calculate take home pay here.
            takeHomePay = salary - totalWithholding + dependentDeduction;

            System.out.println("Salary: $" + salary);
            System.out.println("Take Home Pay: $" + takeHomePay);
            System.exit(0);
        }
    }

エラーが 9 個あります -

Payrolls.java:19: error: class expected
                salary = double.parseDouble (salaryString);
                                ^
Payrolls.java:19: error: ';' expected
                salary = double.parseDouble (salaryString);
                                           ^
Payrolls.java:19: error: not a statement
                salary = double.parseDouble (salaryString);
                                             ^
Payrolls.java:19: error: ';' expected
                salary = double.parseDouble (salaryString);
                                                         ^
Payrolls.java:21: error: class expected
                numDependents = double.parseDouble (numDependentsString);
                                       ^
Payrolls.java:21: error: ';' expected
                numDependents = double.parseDouble (numDependentsString);
                                                  ^
Payrolls.java:21: error: not a statement
                numDependents = double.parseDouble (numDependentsString);
                                                    ^
Payrolls.java:21: error: ';' expected
                numDependents = double.parseDouble (numDependentsString);
4

8 に答える 8

5
Double.parseDouble (salaryString);

そのDouble.parseDouble、ではありませんdouble.parseDouble。:)

parseDoubleメソッドはDoubleクラスから来ています。

于 2012-10-03T06:35:08.547 に答える
3

double.parseDouble ではなく Double.parseDouble を試してください

于 2012-10-03T06:35:09.393 に答える
1

Java では大文字と小文字が区別されることに注意してください。したがって、 double と Double を 2 つの別個のアイテムとして扱います。この場合、Double を使用しようとしていますが、誤って double を指定しています。これは非常に一般的な Java の問題です。気にしないでください。Java では大文字と小文字が区別されることに注意してください。ハッピーコーディング!!

さて、問題を解決するには:

この線

 salary = double.parseDouble (salaryString);

読むべき

 salary = Double.parseDouble (salaryString);

「numDependents = Double.parseDouble (numDependentsString);」についても同様です。ラインも。

于 2012-10-03T06:37:59.533 に答える
0

このコードでは、他のどこにも問題はありません。

 salaryString = JOptionPane.showInputDialog ("Enter Salary Here: ");
    salary = Double.parseDouble (salaryString);
    numDependentsString = JOptionPane.showInputDialog     ("Enter Number of Dependents: ");
    numDependents = Double.parseDouble (numDependentsString);

ラッパー クラス Double を使用する代わりに、double.parseDouble を使用していました。

コードを上記に置き換えてください。問題ありません。

つまり、代わりに Double.parseDouble を使用します。

于 2012-10-03T06:36:17.893 に答える
0

double からラッパークラスを使用する

Double.parseDouble(salaryString)
于 2012-10-03T06:36:33.323 に答える
0
 salary = double.parseDouble (salaryString);

に変更します

salary = Double.parseDouble (salaryString);
于 2012-10-03T06:37:06.597 に答える
0

Javaには非常に役立つエラーがあります。注意深く読んでください。

19 は行番号 19 を意味するので、内容をよく読んでください。通常、エラー出力の最初の数行を読む必要はありません。その 1 つの問題のみを修正し、修正したら再度コンパイルしてください。うまくいけば、解決すべき別のエラーになります。エラーがなくなるまで繰り返します。

メッセージが非常に長いため、メッセージを無視する傾向があることは知っていますが、真剣に、それらは機能します.

ここで、作業を簡単にするために、Eclipse をダウンロードします。無料で簡単です。すぐにセットアップできます。Eclipse でプログラムを作成します。すべてのエラーに下線が引かれ、マウスをエラー行の上に置くと、何が問題なのかが正確に示されます。

それは本当に物事をずっと簡単にします。

于 2012-10-03T06:42:14.493 に答える