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

如何使用try/catch结合JOptionPane实现姓名仅接受字符串输入并提示错误

使用try/catch结合JOptionPane实现姓名输入校验

下面是完整的Java代码实现,核心思路是通过尝试将输入转换为整数来判断是否为纯数字输入,结合try/catch捕获转换失败的情况,以此区分有效姓名和纯整数输入:

import javax.swing.JOptionPane;

public class NameInputValidator {
    public static void main(String[] args) {
        String input;
        boolean isValid = false;

        do {
            // 弹出输入框获取用户输入
            input = JOptionPane.showInputDialog("请输入您的姓名");

            // 处理用户取消或关闭输入框的情况
            if (input == null) {
                JOptionPane.showMessageDialog(null, "操作已取消");
                return;
            }

            // 校验空输入
            if (input.trim().isEmpty()) {
                JOptionPane.showMessageDialog(null, "姓名不能为空,请重新输入");
                continue;
            }

            try {
                // 尝试将输入转为整数,成功则说明是纯整数输入
                Integer.parseInt(input);
                JOptionPane.showMessageDialog(null, "错误:姓名不能是纯整数,请重新输入");
            } catch (NumberFormatException e) {
                // 转换失败,说明输入不是纯整数,判定为有效姓名
                isValid = true;
                JOptionPane.showMessageDialog(null, "输入成功!您的姓名是:" + input);
            }
        } while (!isValid); // 循环直到输入有效
    }
}

关键逻辑说明

  • 循环控制:使用do-while循环确保用户输入符合要求前不会退出程序
  • 基础校验:先处理用户取消输入、空输入的情况,避免后续逻辑报错
  • 核心校验:利用Integer.parseInt()的特性——只有纯整数字符串能成功转换,否则抛出NumberFormatException。通过try/catch捕获异常,以此判断输入是否为有效姓名:
    • 转换成功:弹出错误提示,要求重新输入
    • 转换失败(捕获异常):确认输入有效,结束循环

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 06:40:43