gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 07:36:18 25 4
gpt4 key购买 nike

我正在尝试用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com