不可避免的过程:初学者写的愚蠢代码及其启示

当我刚开始学习编写代码时,我写过一段让我觉得相当愚蠢的代码。以下是一个示例:

java 复制代码
import java.util.Scanner;

public class CircleAreaCalculator {
    public static void main(String[] args) {
        // 愚蠢的代码示例:计算圆的面积

        // 导入数学库
        import java.lang.Math;

        // 创建一个Scanner对象用于接收用户输入
        Scanner scanner = new Scanner(System.in);

        // 获取圆的半径
        System.out.print("请输入圆的半径:");
        double radius = scanner.nextDouble();

        // 计算圆的面积
        double area = Math.PI * radius * radius;

        // 输出结果
        System.out.println("圆的面积为:" + area);
    }
}

以上代码的问题在于,我没有对用户输入进行任何错误处理或验证。如果用户在输入半径时不小心输入了一个非数字的值,程序就会崩溃并抛出一个异常。这种情况下,代码并不具备健壮性和容错性。

此外,我还没有提供任何的提示或说明,告诉用户应该输入什么样的值。这会让用户感到困惑,特别是对于初学者来说。

改进这段代码的方法是添加适当的错误处理和提示信息。以下是改进后的代码示例:

java 复制代码
import java.util.Scanner;

public class CircleAreaCalculator {
    public static void main(String[] args) {
        // 愚蠢的代码示例:计算圆的面积

        // 导入数学库
        import java.lang.Math;

        // 创建一个Scanner对象用于接收用户输入
        Scanner scanner = new Scanner(System.in);

        // 获取圆的半径
        System.out.print("请输入圆的半径:");
        double radius = scanner.nextDouble();

        // 计算圆的面积
        double area = Math.PI * radius * radius;

        // 输出结果
        System.out.println("圆的面积为:" + area);
    }
}

改进后的代码对用户输入进行了验证,如果用户输入的是非数字值,它会提示用户输入一个有效的数字。此外,它还会检查半径是否为非负数,如果用户输入了一个负数,它会要求用户重新输入。这样改进后的代码更加健壮和用户友好。

这个例子展示了我在刚开始学习编写代码时写的一段愚蠢的代码以及如何改进它。通过不断的学习和实践,我逐渐意识到编写健壮和可靠的代码的重要性,并学会了如何处理错误和提供良好的用户体验。这也是编程学习过程中的一个重要教训。

相关推荐
_Evan_Yao2 小时前
Redis 缓存穿透、击穿、雪崩,一次讲清!
java·spring·mybatis
梓豪csd3 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
秋饼3 小时前
Spring AI 2.1 Message Parts 深度实战:推理签名回放与跨轮记忆持久化的源码级落地
java·ai·技术分享·后端开发
小poop3 小时前
CSS 基础与实战:从入门到精通网页美化
前端
2401_868534783 小时前
软考网络规划设计师SSL协议知识点详解
服务器·网络
thefool1122663 小时前
TCP 1
java·1024程序员节
Csvn4 小时前
运行时性能
前端
Never_every995 小时前
位图转矢量工具哪个好?实测抠抠图AI位图转矢量工具
大数据·前端
paopaokaka_luck5 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
金銀銅鐵6 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(下)
java·后端·ai编程