如何计算两个转换为双精度的字符串 [duplicate]

How to calculate two Strings converted to Doubles [duplicate]

提问人:Ezra Lewis 提问时间:6/29/2023 最后编辑:geocodezipEzra Lewis 更新时间:6/29/2023 访问量:24

问:

我是 Java 的新手,正在尝试编写一个程序,询问您的姓名、收入、美联储和州税率,然后计算您应该缴纳多少税款。它应该包括对话框。我的问题是这样的:我已经完成了所有代码并放入了parseDouble()方法,但是当我去计算时,Eclipse给了我错误(stateTaxRate无法解析为变量,并且它也对fedTaxRate变量做同样的事情!我超级卡住了。

import javax.swing.JOptionPane;
public class FedAndStateTaxes {


  public static void main(String[] args) {
    
    String yourName= JOptionPane.showInputDialog("What is your name?");
    JOptionPane.showMessageDialog(null, "Name: " + yourName);
    
    
    String yearlyIncome = JOptionPane.showInputDialog("What is your yearly income?");

    
    try {double num = Double.parseDouble(yearlyIncome); 
    JOptionPane.showMessageDialog(null, "Yearly Income: "+ num);
    
    }
    catch(NumberFormatException e){
    JOptionPane.showMessageDialog(null,"Error. Number input only please.");
    }
    
    
    String fTaxRate = JOptionPane.showInputDialog("Please enter your federal tax rate");
    
    
    try { double fedTaxRate = Double.parseDouble(fTaxRate);
    JOptionPane.showMessageDialog(null, "Federal Tax Rate: " + fedTaxRate +"%");
        
    }
    catch(NumberFormatException e){
        JOptionPane.showMessageDialog(null, "Error. Number input only please.");
    }
    
    String sTaxRate = JOptionPane.showInputDialog("Pleae enter your state tax rate");
    
    try { 
        double stateTaxRate = Double.parseDouble(sTaxRate);
        JOptionPane.showMessageDialog(null, "State Tax Rate: " + stateTaxRate + "%");
    }
    catch(NumberFormatException e) {
        JOptionPane.showMessageDialog(null,"Error. Number input only please");
    }
    


    double calculateIncome = (stateTaxRate);
    

我尝试在parseDouble()方法中更改参数/变量名称。我希望它会回调到我转换为双精度的字符串变量,但它无法解析。

Java Eclipse 方法 类型 参数

评论

0赞 MadProgrammer 6/29/2023
尝试在相同的 try-catch 上下文中转换值 - 或将结果分配给 s 并检查它们是否为,然后再尝试执行计算Doublenull
0赞 Ezra Lewis 6/29/2023
@MadProgrammer老实说,我不知道如何分配结果或检查它们是否为空。

答:

0赞 nitind 6/29/2023 #1

您在 try 块中声明了它,因此它仅存在于该块的作用域中。