(1)随机生成2个长方形和2个正方形,输出对应面积。(指的是每个图形的面积)
(2)增加2个三角形,如何改动程序使改动最小。
C#问题 求解答 ——(求面积相关问题)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- CSDN专家-showbo 2021-08-27 09:32关注
定义一个基类Shape,包含width,height,和计算面积的方法,然后三角形(需要另外新增一条边)继承自这个基类,重写下计算面积的方法就行。示例代码如下
using System; namespace ConsoleApp1 { class Shape { public int width { get; set; } public int height { get; set; } public int GetArea() { return width * height; } public void ShowArea() { Console.WriteLine(width + "*" + height + "=" + this.GetArea()); } } class Triangle : Shape { public int thirdEdge { get; set; } public Triangle(int width, int height, int thirdEdge) { if (width + height < thirdEdge || width + thirdEdge < height || height + thirdEdge < width) { throw new Exception("无法构成三角形"); } this.width = width; this.height = height; this.thirdEdge = thirdEdge; } public new double GetArea() { double p = (double)(width + height + thirdEdge) / 2; return System.Math.Sqrt(p * (p - width)* (p - height) *(p - thirdEdge)); } public new void ShowArea() { Console.WriteLine("三角形【" + width + "," + height + "," + thirdEdge + "】面积:" + this.GetArea()); } } class Program { static void Main(string[] args) { var rnd = new Random(Guid.NewGuid().GetHashCode()); int width, height,thirdEdge; width = rnd.Next(10, 20); height = rnd.Next(10,20); Shape p1 = new Shape {width=width,height=height }; p1.ShowArea(); width = rnd.Next(10, 20); height = rnd.Next(10, 20); Shape p2 = new Shape { width = width, height = height }; p2.ShowArea(); width = rnd.Next(10, 20); Shape p3 = new Shape { width = width, height = width }; p3.ShowArea(); width = rnd.Next(10, 20); Shape p4 = new Shape { width = width, height = width }; p4.ShowArea(); width = rnd.Next(10, 20); height = rnd.Next(10, 20); thirdEdge = rnd.Next(10, 20); Triangle t1 = new Triangle(width, height, thirdEdge); t1.ShowArea(); Console.ReadKey(); } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 TYPCE母转母,插入认方向
- ¥15 如何用python向钉钉机器人发送可以放大的图片?
- ¥15 vue3加ant-design-vue无法渲染出页面
- ¥15 matlab(相关搜索:紧聚焦)
- ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
- ¥15 路易威登官网 里边的参数逆向
- ¥15 Arduino无法同时连接多个hx711模块,如何解决?
- ¥50 需求一个up主付费课程
- ¥20 模型在y分布之外的数据上预测能力不好如何解决
- ¥15 processing提取音乐节奏