gpt4 book ai didi

java - 百分比计算部分在java中不起作用

转载 作者:行者123 更新时间:2023-12-01 13:39:29 25 4
gpt4 key购买 nike

[现在正在工作!]我有这段代码应该计算百分比(使用一些 GUI)。但计算部分不起作用......也许你们中的一些人知道答案?我认为问题是当我从弦乐中演奏它时,会做双倍演奏。我来自瑞典,所以我的英语很蹩脚。所有变量名称都是瑞典语,所以我只是用谷歌翻译来翻译它们。

package Java;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;


public class java {


public static void main (String []args){

int frameSizeX = 500;
int frameSizeY = 135;

JPanel p = new JPanel();
p.setPreferredSize( new Dimension(frameSizeX,frameSizeY) );

JFrame f = new JFrame ("Percentage");
f.setSize(frameSizeX,frameSizeY);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setResizable(false);
f.getContentPane().add(p);

JLabel cardiNum = new JLabel ("Cardinal number");

JTextField cardiNumField = new JTextField();
cardiNumField.setPreferredSize( new Dimension( 500, 24 ) );

final String talValue = (cardiNumField.getText());

JLabel perc = new JLabel("Percentage");

JTextField percField = new JTextField();
percField.setPreferredSize( new Dimension( 500, 24 ) );

final String proValue = (percField.getText());

double D = 0;

final JLabel answer = new JLabel("The answer is = " + D);

JButton butt = new JButton("Calculate");
butt.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {

double A = Double.parseDouble(talValue);
double B = Double.parseDouble(proValue);
double C = A/100;
double D = C*B;

answer.setText("The answer is" + D);
}
});



p.add(cardiNum, BorderLayout.AFTER_LINE_ENDS);
p.add(cardiNumField, BorderLayout.AFTER_LINE_ENDS);
p.add(perc, BorderLayout.AFTER_LINE_ENDS);
p.add(percField, BorderLayout.AFTER_LINE_ENDS);
p.add(butt);
p.add(answer);

f.pack();
f.setVisible(true);

}
}

最佳答案

您将收到 NullPointerException,因为只有在 ActionListener 内单击 JButton 后,您才需要设置这两个字符串。

放入这两行:

final String talValue = (cardiNumField.getText());
final String proValue = (percField.getText());

在 JButton 的 ActionListener 中,将 cardiNumField 和 percField 设置为最终值,它应该可以工作。或者,您可以删除这两个变量并具有:

double A = Double.parseDouble(cardiNumField.getText());
double B = Double.parseDouble(percField.getText());

关于java - 百分比计算部分在java中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20951846/

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