You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

输入非Double值时JOptionPane提示框不显示问题求助

问题原因及解决方法

你的问题根源很直接:可能抛出异常的Double.parseDouble()代码写在了try块外面,当输入非数字字符串时,这个方法抛出的NumberFormatException根本没被后面的try-catch捕获,直接向外抛出,自然弹不出错误提示框。

修改后的代码

把Double.parseDouble()移到try块内部,让异常能被正确捕获:

@Override
public void actionPerformed(ActionEvent e){
   
   if(e.getSource() == back){
    frame.dispose();
      home h = new home();
   }
  
           
   //rent button
   
   if(e.getSource() == rent){
         double money = 0;
         
         try{
            // 将parseDouble移入try块,异常才能被捕获
            money = Double.parseDouble(txtinsertmoney.getText());
            
            if(blackadam.isSelected()){
            money = money - 1009.00;
            }
     
            if(up.isSelected()){
            money = money - 212.00; 
            }
         
            if(terminator.isSelected()){
            money = money - 220.00; 
            }
         
            if(justiceleague.isSelected()){
            money = money - 1100.00;
            }
         
            if(yourname.isSelected()){
            money = money - 1200;
            }
         
            if(starwars.isSelected()){
            money = money - 275;
            }
            if(demonslayer.isSelected()){
            money = money - 1100;
            }
            if(madmax.isSelected()){
            money = money - 825;
            }
            if(topgun.isSelected()){
            money = money - 220;
            }
            if(predator.isSelected()){
            money = money - 400;
            }
            if(nul.isSelected()){
            money = money - 220;
            }
            
            txtchange.setText(Double.toString(money));
            
         }
         catch(NumberFormatException ex){
            JOptionPane.showMessageDialog(frame,"ERROR","ERROR",JOptionPane.ERROR_MESSAGE );
         }
         
   }
}

另外提一句:原代码里的else分支逻辑有问题,它只和最后一个if(nul.isSelected())配对,并非你想要的“未选中任何选项时执行”,建议直接删掉这个else,在所有if判断结束后统一设置txtchange的内容即可。

内容的提问来源于stack exchange,提问作者Watatops

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:15:37