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个在消息对话框中。关于我如何解决它的任何提示?
答案 0 :(得分:7)
您的主要方法以:
开头while(name != null)
但你还没有申报名字。在循环开始之前,您需要移动String name
行。
答案 1 :(得分:2)
正如其他人所指出的,你需要在main中修复你的while循环,因为名字没有被定义。
但是,还有另一个错误:您对JOptionPane.ShowMessageDialog()
的来电不正确。
您应该调用的正确方法是JOptionPane.showMessageDialog()
(注意驼峰案例方法名称而不是pascal案例)
答案 2 :(得分:1)
如果您发布的代码确实是您的完整程序,那么您的name
函数中有一个未定义的main()
。
您必须在类中添加静态变量名name
,因此静态main()
可以访问它或在main()
中本地声明它。再看一下,您确实声明了String name
,但在尝试使用它之后。在name
if()
之前移动main()
的声明