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

C#实现毕达哥拉斯计算器:如何获取用户输入并封装计算函数

C# 毕达哥拉斯计算器修改方案

核心修改点

  • 替换硬编码赋值为控制台用户输入:使用Console.ReadLine()读取用户输入的字符串内容,通过double.Parse()将输入转换为双精度浮点数赋值给直角边变量,输入前增加文字提示引导用户操作。
  • 封装独立计算函数:单独抽取静态计算方法,接收两个直角边长度作为入参,内部实现勾股定理计算逻辑后返回斜边结果,将计算逻辑和主程序的输入输出逻辑解耦。

完整实现代码

using System;

public class Pythagorean {
    // 独立封装的毕达哥拉斯定理计算函数
    static double CalculateHypotenuse(double side1, double side2) {
        return Math.Sqrt(side1 * side1 + side2 * side2);
    }

    public static void Main() {
        double s1;
        double s2;
        double hypot;

        // 替换原有固定赋值,改为接收用户输入
        Console.Write("请输入第一条直角边长度:");
        s1 = double.Parse(Console.ReadLine());
        Console.Write("请输入第二条直角边长度:");
        s2 = double.Parse(Console.ReadLine());

        // 调用独立函数计算斜边
        hypot = CalculateHypotenuse(s1, s2);

        Console.WriteLine("The length of side c is " + hypot);
    }
}

可选优化(提升鲁棒性)

基础版本直接用double.Parse()转换输入即可,如果需要避免用户输入非数字、负数导致程序崩溃,可以把输入部分替换为带校验的循环逻辑:

Console.Write("请输入第一条直角边长度:");
while (!double.TryParse(Console.ReadLine(), out s1) || s1 <= 0) {
    Console.Write("输入无效,请输入大于0的合法数字:");
}
Console.Write("请输入第二条直角边长度:");
while (!double.TryParse(Console.ReadLine(), out s2) || s2 <= 0) {
    Console.Write("输入无效,请输入大于0的合法数字:");
}

这段逻辑会持续提示用户重新输入,直到拿到合法的正数值边长,作业提交时增加这段处理会让完成度更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 20:48:13