jRadioButtonJavaGUI JButton calculateBtn=新JButton(“计算”); calculateBtn.addActionListener(新ActionListener(){ 已执行的公共无效操作(操作事件e){ int iStart,fRate,gen; 试一试{ iStart=Integer.parseInt(startText.getText()); fRate=Integer.parseInt(fixedText.getText()); gen=Integer.parseInt(genText.getText()); 如果(FixedRad.isSelected()){ 对于(int a=0;a

jRadioButtonJavaGUI JButton calculateBtn=新JButton(“计算”); calculateBtn.addActionListener(新ActionListener(){ 已执行的公共无效操作(操作事件e){ int iStart,fRate,gen; 试一试{ iStart=Integer.parseInt(startText.getText()); fRate=Integer.parseInt(fixedText.getText()); gen=Integer.parseInt(genText.getText()); 如果(FixedRad.isSelected()){ 对于(int a=0;a,java,jbutton,Java,Jbutton,第一个按钮工作正常(FixedRad),但当我尝试选择变量按钮时,它不工作,出现消息“请输入有效数字” 谢谢 打印异常堆栈跟踪,以便查看导致错误的原因。异常e1准确地告诉您发生了什么。很可能是varN.getText()中的一个返回空字符串或不可解析字符串可能是“startText”、“fixedText”、“genText”或var1、var2、var3。。。无法将值解析为整数值。在catch块内使用e1.printStackTrace();检查一下。 JButton calculateBtn

第一个按钮工作正常(FixedRad),但当我尝试选择变量按钮时,它不工作,出现消息“请输入有效数字”


谢谢

打印异常堆栈跟踪,以便查看导致错误的原因。异常
e1
准确地告诉您发生了什么。很可能是
varN.getText()
中的一个返回空字符串或不可解析字符串可能是“startText”、“fixedText”、“genText”或var1、var2、var3。。。无法将值解析为整数值。在catch块内使用e1.printStackTrace();检查一下。
JButton calculateBtn = new JButton("Calculate");
calculateBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

    int iStart, fRate, gen;

    try {
        iStart = Integer.parseInt(startText.getText());
        fRate = Integer.parseInt(fixedText.getText());
        gen = Integer.parseInt(genText.getText());

        if(FixedRad.isSelected()) {                                             
            for(int a = 0; a < gen; a++) {
                iStart += iStart*fRate/100; 
            }
        } else {
            int vara, varb, varc, vard, vare, varf, varg, varh, vari, varj;
            vara = Integer.parseInt(var1.getText());
            varb = Integer.parseInt(var2.getText());
            varc = Integer.parseInt(var3.getText());
            vard = Integer.parseInt(var4.getText());
            vare = Integer.parseInt(var5.getText());
            varf = Integer.parseInt(var6.getText());
            varg = Integer.parseInt(var7.getText());
            varh = Integer.parseInt(var8.getText());
            vari = Integer.parseInt(var9.getText());
            varj = Integer.parseInt(var10.getText());

            int[] iaGrowthRate = {vara, varb, varc, vard, vare, varf, varg, varh, vari, varj};
            for( int a = 0; a < 10; a++) {
                iStart += iStart*iaGrowthRate[a]/100;
                }
            }

            } catch (Exception e1) {

                JOptionPane.showMessageDialog(null,  "Plese enter a Valid Number");
            }
        }
    });