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

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

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);
    }
}

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

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

相关推荐
Tony6666888884 分钟前
Webservic 服务注册发布及参数封装-实际项目应用
java·spring·servlet
by__csdn5 分钟前
Vue3响应式系统详解:ref与reactive全面解析
前端·javascript·vue.js·typescript·ecmascript·css3·html5
渴望成为python大神的前端小菜鸟6 分钟前
react 面试题
前端·react.js·前端框架·react·面试题
Greatlifeee7 分钟前
基于vue3+ts的前端网页,实现网页点击按钮打开本地exe运行文件的完整实例
前端
老华带你飞7 分钟前
零食商城|基于springboot + vue零食商城管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·毕设
漏洞文库-Web安全8 分钟前
CTFHub XSS通关:XSS-过滤关键词 - 教程
前端·安全·web安全·okhttp·网络安全·ctf·xss
chilavert31810 分钟前
技术演进中的开发沉思-231 Ajax:页面内容修改
开发语言·前端·javascript
一只小bit12 分钟前
Qt 信号与槽:信号产生与处理之间的重要函数
前端·c++·qt·cpp·页面
songgz16 分钟前
多线程双向 JSON 解析器
java·服务器·json