网站首页 > 技术文章 正文
在数学和工程领域,准确计算圆的面积是一项基础任务。我写了一个简单的C#控制台应用程序,用于计算给定半径的圆的面积。看看我如何轻松地实现这一功能的。
我这个C#小程序提供了一个用户友好的界面,允许用户输入圆的半径,无论是整数还是小数。程序首先会验证用户输入的数值是否为非负数,如果输入无效,它会给出清晰的提示。一旦输入被确认为有效,程序将使用精确的π值来计算并显示圆的面积,结果保留两位小数。
以下是代码的逐行解释:
using System;
引入System命名空间,以便使用Console、Math等类。
namespace CircleAreaCalculator
定义一个命名空间CircleAreaCalculator,使得其他代码可以更容易地引用此项目中的类和方法。
class Program
定义一个名为Program的类。在C#控制台应用程序中,Main方法通常位于此类中。
static void Main(string[] args)
定义Main方法,这是程序的入口点。static表示这是一个静态方法,void表示此方法不返回任何值。
Console.Write("请输入圆的半径(支持小数): ");
向控制台输出提示,要求用户输入圆的半径。
if (!double.TryParse(Console.ReadLine(), out double radius) || radius < 0)
使用TryParse方法尝试从用户输入中解析出一个double类型的值。如果解析成功,该值将被存储在radius变量中。
如果解析失败或输入的值为负数,则执行if语句块内的代码。
Console.WriteLine("无效输入!请确保您输入的是非负数值。");
如果上述条件满足(即输入无效),则向控制台输出错误消息。
return;
退出Main方法,不执行后续的代码。
double area = CalculateCircleArea(radius);
调用CalculateCircleArea方法,传入用户输入的半径值,并将返回的面积值存储在area变量中。
Console.WriteLine(#34;半径为 {radius} 的圆的面积是: {area:F2}");
向控制台输出圆的面积。{area:F2}表示将area的值格式化为固定点表示法,并保留两位小数。
Console.WriteLine("\n按任意键退出...");
向控制台输出提示,告诉用户可以按任意键退出程序。
Console.ReadKey();
暂停程序,等待用户按下一个键。这允许用户看到上面的消息,并有机会按下一个键来退出程序。
static double CalculateCircleArea(double r)
定义一个静态方法CalculateCircleArea,它接受一个double类型的参数r(代表圆的半径)并返回一个double类型的值(代表圆的面积)。
const double PI = Math.PI;
在方法内部,定义一个常量PI并将其设置为Math.PI的值。Math.PI是C#中预定义的π的值。
return PI * Math.Pow(r, 2);
计算圆的面积并返回结果。Math.Pow(r, 2)计算半径的平方,然后乘以π得到面积。
整个程序的目的是让用户输入一个圆的半径,然后计算并显示该圆的面积。同时,程序还包含了一些输入验证,确保用户输入的是一个有效的非负数值。
这个程序是一个很好的教学工具,可以帮助初学者理解基本的数学概念和C#编程实践。此外,它也可以作为一个快速的实用工具,用于日常的数学计算需求。
还有别的应用,你自己去挖掘其实用价值吧,哈哈!
- 上一篇: Java中使用指数退避和抖动实现重试
- 下一篇: 【JS 浮点数计算】浮点数的加减乘除
猜你喜欢
- 2024-11-09 极客算法训练笔记(十),十大经典排序之计数排序、基数排序
- 2024-11-09 Axure RP 9 学习笔记 - 常用数学函数
- 2024-11-09 判断坐标点是否在高德地图围栏内的算法?
- 2024-11-09 Quick Pow: 如何快速求幂 快速幂算法
- 2024-11-09 十六、Java运算符-优先级与表达式
- 2024-11-09 抖音B站…推荐机制的原型,威尔逊得分排序算法
- 2024-11-09 浅谈移动设备交互体验之惯性滚动 惯性移轴定理
- 2024-11-09 JS中常见的Math对象 javascript中math
- 2024-11-09 力扣73——矩阵置零 矩阵置0
- 2024-11-09 基数排序的1个小技巧,2种排序方式,3种排序算法
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-