java异常处理用户输入

不同的错误怎么写不同的题型,就比如,要求用户输入身高,输入170,告诉他“单位是米”,输入“1.7米”,告诉他“不要带单位”。


import java.util.Scanner;

public class InputHeight {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double height = 0.0;
        boolean inputIsValid = false;

        // 循环读取用户输入,直到输入合法为止
        while (!inputIsValid) {
            try {
                System.out.print("请输入身高:");
                String input = scanner.next();

                // 尝试将用户输入转换为double类型
                height = Double.parseDouble(input);

                // 判断用户输入是否带有单位
                if (input.endsWith("米")) {
                    System.out.println("请不要带单位!");
                } else {
                    inputIsValid = true; // 输入合法,退出循环
                }
            } catch (NumberFormatException e) {
                System.out.println("请输入数字!");
            }
        }

        // 将身高转换为米并输出
        double heightInMeters = height / 100.0;
        System.out.println("您的身高是:" + heightInMeters + "米");
    }
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^