当前位置: 首页 > 面试题库 >

错误表示尝试将字符串转换为double时main中已定义的变量,然后表示未知符号

邰伟彦
2023-03-14
问题内容

我已经寻找了40分钟以上,试图在此站点上找到可能与我的问题无关的答案。

我很沮丧。我正在尝试将程序转换为GUI。我正在使用Textpad,它告诉我何时编译该变量已在main方法中定义。然后,当转换为int或double时,它告诉我找不到符号,并指向我要转换的变量。然后在计算时,它告诉我二进制运算符’*’的操作数类型错误。

import javax.swing.JOptionPane;

public class PayrollGUI {

// calculates payroll
public static void main (String [] args) {

String name = JOptionPane.showInputDialog ("Employee's Name: ");
int name = Integer.parseInt(nameString);

String hours = JOptionPane.showInputDialog ("Number of hours worked in a week (e.g., 10: ");
int hours = Integer.parseInt(hoursString);

String payRate = JOptionPane.showInputDialog ("Hourly pay rate (e.g., .6.75: ");
double payRate = Double.parseDouble(payRateString);

String federalTaxRate = JOptionPane.showInputDialog ("Federal tax witholding rate (e.g., .20: ");
double federalTaxRate = Double.parseDouble(federalTaxRateString);

String stateTaxRate = JOptionPane.showInputDialog (" State tax witholding rate (e.g., .09: ");
double stateTaxRate = Double.parseDouble(stateTaxRateString);

//calculate witholdings, grosspay and netpay
double federalWitholding = federalTaxRate * (hours * payRate);
double stateWitholding = stateTaxRate * (hours * payRate);
double grossPay = hours * payRate;
double netPay = grossPay - withholdings;
double witholdings = federalWithodling + stateWitholding;

//format to keep two digit decimal
witholdings = (int) (witholdings * 100) /100.0;
netPay = (int) (netPay * 100) / 100.0;
grossPay = (int) (grossPay * 100) / 100.0;
federalWitholding = (int) (federalWitholding * 100) / 100.0;
stateWitholding = (int) (stateWitholding *100) / 100.0;

/*String output = (null);
String output = (null);*/
String output = "Employee Name: " + name +
"/nHours Worked: "  + hours +
"/nPay Rate: $" + payRate +
"/nGross Pay: $" + grossPay +
"/nDeductions:" +
"/n     Federal Witholding: $" + federalWitholding +
"/n     State Witholding : $" + stateWitholding +
"/n     Total Deductions : $" + witholdings +
"/n     Net Pay: $";
JOptionPane.showMessageDialog(null, output);
}//end main
}//end Payroll

问题答案:
String name = ...;
int name = ...;

做不到

替换为String nameString nameString因为这是您在使用时要解析的变量Integer.parseInt!(也不要忘记所有其他变量!)

例如

String hoursString hoursString
String payRatewith String payRateString
String federalTaxRateString federalTaxRateString
String stateTaxRatewithString stateTaxRateString




 类似资料:
  • 问题内容: 我有以下代码: O / P: O / P: O / P: O / P: 我已经尝试过使用Google,但是找不到原因。如果问题很简单,我们感到抱歉。 问题答案: 答案似乎都没有涉及 为什么 采取不同的行动。 1.为什么发生 您看到的和之间的行为差​​异是由于IEEE-754 舍入 规则引起的。 应用的舍入规则:摘自Java™虚拟机规范 §2.8.1 Java虚拟机的舍入操作始终使用IE

  • 我正在尝试使用一个名为“start checknumber”的双变量,该变量的值应该为“40305555”,并将其转换为字符串。在调试我的代码时,startCheckNumber显示的值为4.030555e7。如果我执行以下命令将其转换为字符串,它将显示如下所示,而不是“4030555” 在这种情况下,有没有比使用ValueOf更好的方法将double变量转换为String?我尝试了'Double

  • 我正在使用Schembuf在带有套接字的计算机之间更改数据。要传输数据,我使用以下内容: 然而,我注意到Protobuf无法读取任何非int类型的接收数据(它将其分配给0)。果不其然,如果我不使用套接字,但试图用相同的代码片段返回消息,则会发生相同的情况: 我还指出: 那么,为什么我不能正确地将数据转换回字符串呢?如果这是一个参考问题,为什么protobuf不能读取字符数组数据或从字符数组转换的字

  • 问题内容: 最简单的方法是将类似以下的列表转换为: 即使用户在逗号之间加空格,也要在引号内加空格。我还需要处理以下内容: 在Python中。 我可以使用并使用split运算符删除空格,并检查非字母。但是代码变得非常混乱。有快点 方法吗? 问题答案: 使用,你可以安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字典

  • 问题内容: 如何打印字符串的转义表示形式,例如,如果我有: 我希望输出: 在屏幕上而不是 问题答案: 我认为您正在寻找: 从Apache Commons Lang v2.6 在Apache Commons Lang v3.5 +中已弃用,请使用Apache Commons Text v1.2

  • 问题内容: 如何将String转换为Map: 预期产量: 问题答案: 无需重新发明轮子。Google Guava库提供了该类。 这是如何与一些测试代码一起使用的: