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

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

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

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

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

相关推荐
@PHARAOH13 分钟前
WHAT - AI 时代下的候选人
大数据·前端·人工智能
线束线缆组件品替网14 分钟前
Amphenol RJE1Y22A53644401线束详解与替代网络线束选型指南
运维·服务器·网络·智能路由器·电脑·51单片机
TG_yunshuguoji40 分钟前
阿里云代理商: 阿里云部署OpenClaw 个性化配置指南 3 大场景模板详解
服务器·阿里云·云计算·openclaw
23.1 小时前
【Java】char字符类型的UTF-16编码解析
java·开发语言·面试
怒放吧德德1 小时前
Spring Boot实战:InfluxDB 2.x简单教程
java·spring boot·后端
indexsunny1 小时前
互联网大厂Java面试实战:核心技术与业务场景深度解析
java·spring boot·hibernate·security·microservices·interview
竹林8181 小时前
从零到一:我在Solana NFT铸造前端中搞定@solana/web3.js连接与交易
前端·javascript
猪八宅百炼成仙1 小时前
不用点击也能预览图片:Element UI ImageViewer 命令式调用方案
前端
是小蟹呀^1 小时前
Java中的继承:从入门到精通
java·继承
SeanDe1 小时前
Linux grep 命令用法详解
linux·服务器·网络