-1
import javax.swing.JOptionPane;

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

        while (name!=null)
    {
            String name = JOptionPane.showInputDialog("Please enter the next employees name" );
            String wage = JOptionPane.showInputDialog("Please enter their hourly wage?");
            String hoursWorked = JOptionPane.showInputDialog ("How many hours did they work this last work?");

            double wages = Double.parseDouble(wage);
            double hours = Double.parseDouble(hoursWorked);

            calculatePay(name,wages,hours);
    }
}

private static void calculatePay(String name,double wages,double hours)
{
if (hours > 40)
        {
         double pay = ((wages * 40)+((hours - 40)*(1.5 * wages)));
        JOptionPane.ShowMessageDialog (null,name + "'s pay is £" + pay);
        }
    else
        {
        double pay = (wages * hours);
        JOptionPane.ShowMessageDialog (null,name + "'s pay is £" + pay);
        }
}

}

なんらかの理由でコードがコンパイルされず、シンボル エラーが見つかりません。その理由がわかりません。エラーは 3 回表示され、そのうち 2 回はメッセージ ダイアログ ボックスに表示されます。どうすれば修正できるかについてのヒントはありますか?

4

3 に答える 3

7

あなたの主な方法は次で始まります:

while(name != null)

しかし、あなたはまだ名前を宣言していません。String nameループが開始する前に行を移動する必要があります。

于 2012-05-15T16:54:09.073 に答える
2

他の人が指摘したように、名前が定義されていないため、main の while ループを修正する必要があります。

ただし、別のエラーもあります: への呼び出し JOptionPane.ShowMessageDialog()が正しくありません。

呼び出すべき正しいメソッドは次JOptionPane.showMessageDialog()のとおりです(パスカルケースではなくキャメルケースのメソッド名に注意してください)

于 2012-05-15T17:01:22.053 に答える
1

投稿したコードが実際に完全なプログラムである場合、関数に undefinednameがありますmain()

nameクラスに静的変数名を追加する必要があるため、静的変数はmain()それにアクセスするか、 でローカルに宣言できますmain()。もう一度見てみると、String name宣言されていますが、それを使用しようとした後です。の宣言を in の前nameに移動if()main()

于 2012-05-15T16:54:46.533 に答える