C#——Circle(圆)类
生活随笔
收集整理的這篇文章主要介紹了
C#——Circle(圆)类
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
問(wèn)題描述?
定義一個(gè)Circle類,其功能有:
-兩個(gè)double類型屬性X和Y,可讀寫圓心坐標(biāo)
-一個(gè)double類型屬性Radius,可讀寫圓的半徑
-一個(gè)構(gòu)造方法,以指定的x,y,radius來(lái)構(gòu)造
-一個(gè)只讀屬性Area,獲取圓面積
-一個(gè)只讀屬性Perimeter,獲取圓周長(zhǎng)
-一個(gè)方法bool?Contains(double?x,?double?y),如果指定的點(diǎn)(x,?y)處于本圓內(nèi),返回true
-一個(gè)方法bool?Contains(Circle?circle),如果指定的圓circle包含在本圓內(nèi),返回true
-一個(gè)方法bool?Extend(double?range,?out?Circle?newCircle),半徑擴(kuò)大(加上range),輸出擴(kuò)大后的newCircle,返回true。如果Radius+range為負(fù),無(wú)法擴(kuò)大,則輸出原來(lái)的圓,且返回false。
在一個(gè)Main方法中對(duì)上述功能進(jìn)行測(cè)試?
解決方案?
using System;namespace HomeWork1 {//定義一個(gè)Circle類,其功能有class Circle{//-兩個(gè)double類型屬性X和Y,可讀寫圓心坐標(biāo)public double X{set;get;}public double Y{set;get;}//-一個(gè)double類型屬性Radius,可讀寫圓的半徑public double Radius {set;get;}//-一個(gè)構(gòu)造方法,以指定的x,y,radius來(lái)構(gòu)造public Circle(double X, double Y, double Radius) {this.X = X;this.Y = Y;this.Radius = Radius;}//-一個(gè)只讀屬性Area,獲取圓面積public double Area {get {return Radius * Radius * 3.1415926;}}//-一個(gè)只讀屬性Perimeter,獲取圓周長(zhǎng)public double Perimeter{get { return 2 * Radius * 3.1415926;}}//-如果指定的點(diǎn)(x, y)處于本圓內(nèi),返回truepublic bool Contains(double x, double y) {if ((x - X) * (x - X) + (y - Y)* (y - Y) < Radius * Radius) {return true;}return false;}//-如果指定的圓circle包含在本圓內(nèi),返回truepublic bool Contains(Circle circle) {if (Radius>circle.Radius && (Radius - circle.Radius) * (Radius - circle.Radius) > (circle.X - X) * (circle.X - X) + (circle.Y - Y) * (circle.Y - Y)){return true;}return false;}//-半徑擴(kuò)大(加上range),輸出擴(kuò)大后的newCircle,返回true。如果Radius+range為負(fù),無(wú)法擴(kuò)大,則輸出原來(lái)的圓,且返回false。public bool Extend(double range, out Circle newCircle) {newCircle = this;if (newCircle.Radius + range > 0) {newCircle.Radius = newCircle.Radius + range;return true;}return false;}}class Program{static void Main(string[] args){Circle circle = new Circle(1,1,3);Console.WriteLine("面積:{0}\t周長(zhǎng):{1}",circle.Area, circle.Perimeter);Console.WriteLine("(2,2)在本圓內(nèi):{0}", circle.Contains(2,2));Console.WriteLine("Circle(1,1,1)在本圓內(nèi):{0}", circle.Contains(new Circle(1,1,1)));circle.Extend(2,out circle);Console.WriteLine("面積:{0}\t周長(zhǎng):{1}", circle.Area, circle.Perimeter);}} }運(yùn)行結(jié)果
總結(jié)
以上是生活随笔為你收集整理的C#——Circle(圆)类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Windows——蓝屏[失败的操作:Wd
- 下一篇: 汇编语言——标志位