-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在 while 循环开始之前移动该行。

于 2012-05-15T16:54:09.073 回答
2

正如其他人指出的那样,由于未定义名称,您需要在 main 中修复您的 while 循环。

但是,还有另一个错误:您的调用 JOptionPane.ShowMessageDialog()不正确。

您应该调用的正确方法是JOptionPane.showMessageDialog()(注意骆驼案例方法名称而不是帕斯卡案例)

于 2012-05-15T17:01:22.053 回答
1

如果您发布的代码确实是您的完整程序,那么您的函数中有一个未定义name的。main()

您要么必须name在类中添加静态变量名称,以便静态main()可以访问它或在本地​​声明它main()。再看一眼,您确实有一个String name声明,但在您尝试使用它之后。移动inname之前的声明if()main()

于 2012-05-15T16:54:46.533 回答