带有双变量的Java错误
我正在尝试向程序添加交互式输入。我花了好几个小时才弄明白。这是代码-带有双变量的Java错误,java,Java,我正在尝试向程序添加交互式输入。我花了好几个小时才弄明白。这是代码- // This program calculates an employee's take home pay. public class Payrolls import javax.swing.JOptionPane; { public static void main(String args[]) { String salaryStr
// 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);
它的Double.parseDouble
,而不是Double.parseDouble
)
parseDouble
方法来自类 试试Double.parseDouble而不是Double.parseDouble您在其他任何地方都不会遇到任何问题,然后在此代码中:
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。使用Double中的wrapper类
Double.parseDouble(salaryString)
换成
salary = Double.parseDouble (salaryString);
记住,Java是区分大小写的。因此,它会将double和double视为两个单独的项目。在本例中,您试图使用Double,但错误地指定了Double。这是一个非常常见的Java问题,不要为此感到难过,只需注意Java是区分大小写的。快乐编码 现在,要解决这个问题: 线路
salary = double.parseDouble (salaryString);
应该读
salary = Double.parseDouble (salaryString);
“numDependents=Double.parseDouble(numDependentsString);”行也是如此。Java有非常有用的错误,请仔细阅读 19表示第19行,然后仔细阅读它告诉你的内容。您通常不必阅读错误打印输出的前几行。只修复一个问题,当您修复它时,再次编译,希望这将是一个不同的错误来解决。重复此操作,直到没有错误为止 我知道有一种忽视信息的倾向,因为它们太长了,但说真的,它们很有效 现在,为了让事情变得更简单,下载Eclipse。它是免费和容易的,它会很快建立起来。在Eclipse中创建您的程序。它会在每个错误下划线,当你把鼠标放在错误线上时,它会准确地告诉你出了什么问题
这真的让事情变得容易多了。请用double代替double。Java是纯区分大小写的语言。double是一个关键字,它指示变量的数据类型,并且没有方法。Double是java中的类,具有类似parseDouble(String str)的方法。此方法返回字符串值的双精度值
salary = double.parseDouble(salaryString);
numDependentsString = JOptionPane.showInputDialog("Enter Number of Dependents: ");
numDependents = double.parseDouble(numDependentsString);
继续编码 “19”表示错误出现在第19行。如果您开始使用eclipse之类的编辑器,这将使您的生活更加轻松。无论编译错误是什么,在任何情况下都不应使用浮点变量来保存货币量。使用
BigDecimal
。
salary = Double.parseDouble (salaryString);
salary = double.parseDouble(salaryString);
numDependentsString = JOptionPane.showInputDialog("Enter Number of Dependents: ");
numDependents = double.parseDouble(numDependentsString);