java - 字符串加倍,然后再返回。 ( java )

标签 java string double

我正在尝试用 Java 制作一个简单的税务计算器程序,但似乎无法正确进行计算。在代码中,我最终必须将 JTextField 输入转换为 double 变量,然后转换为字符串。由于某种原因,这不起作用并会带来一堆错误。我知道必须有某种更简单的方法来编写此内容,因此任何想法将不胜感激。

import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.lang.*;


public class TaxCalculator extends JFrame {

    String twelve;
    JTextField input;
    JLabel ans;

    public TaxCalculator() {
        JFrame frame = new JFrame("Tax Calculator");
        JTextField input = new JTextField(10);
        JLabel ans = new JLabel("");
        JButton twelve = new JButton("12%");

        frame.setVisible(true);
        frame.setLayout(new FlowLayout());
        frame.setSize(250, 100);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.add(new JLabel("Price of Item:"));
        frame.add(input);
        frame.add(ans);
        frame.add(twelve);

        twelve.addActionListener(new HandlerClass());

    }

    public static void main(String[] args) {
        TaxCalculator calc = new TaxCalculator();
    }

    public class HandlerClass implements ActionListener {
        public void actionPerformed(ActionEvent ae) {
            double fnum = Double.parseDouble(input.getText());

            if (ae.getSource() == twelve) {
                fnum = (fnum / 0.12) + fnum;
                ans.setText(Double.toString(fnum));
            }

        }

    }
}

最佳答案

问题是你已经声明了JTextField input;作为类变量,同时还创建了一个同名的局部变量并将其添加到 JFrame 中。这就是为什么您会遇到 NullPointerException当您执行double fnum = Double.parseDouble(input.getText());

关于java - 字符串加倍,然后再返回。 ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11571221/

相关文章:

java - Spring应用程序中的NoSuchBeanDefinitionException

c# - 验证字符串仅包含 C# 控制台应用程序中的字母

PHP - 字符串操作删除特殊字符并替换空格

Java:从外部 .jar 获取类

java - 部署到 Heroku 中的 java Spark 项目的文件路径

c# - 像这样将 double 与 0 进行比较是错误的 : doubleVariable==0?

c++ - 使用 double 的程序的意外行为

c - 如何将 float 数组复制到结构中的 float 数组

java - 如何更有效地在 3 个不同的下拉菜单中输入日期、月份、年份

python - 数据错误使用函数和groupby来合并pandas数据框中的字符串