using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 圆 { class circle { int center_x; int center_y; double Radius; public int x { get { return center_x; } set { center_x = value; } } public int y { get { return center_y; } set { center_y = value; } } public double radius { get { return Radius; } set { Radius = value; } } } class Program { static void Main(string[] args) { circle myCircle = new circle(); myCircle.x = 10; myCircle.y = 10; myCircle.radius = 8; Console.WriteLine("Center:({0},{1})", myCircle.x, myCircle.y); Console.WriteLine("Radius:{0}", myCircle.radius); Console.WriteLine("Circumference:{0}", (double)(2 * 3.141592653 * myCircle.radius)); Console.ReadKey(); } } }
问题描述
定义一个Circle类,其功能有:
-两个double类型属性X和Y,可读写圆心坐标
-一个double类型属性Radius,可读写圆的半径
-一个构造方法,以指定的x,y,radius来构造
-一个只读属性Area,获取圆面积
-一个只读属性Perimeter,获取圆周长
-一个方法bool Contains(double x, double y),如果指定的点(x, y)处于本圆内,返回true
-一个方法bool Contains(Circle circle),如果指定的圆circle包含在本圆内,返回true
-一个方法bool Extend(double range, out Circle newCircle),半径扩大(加上range),输出扩大后的newCircle,返回true。如果Radius+range为负,无法扩大,则输出原来的圆,且返回false。
在一个Main方法中对上述功能进行测试
解决方案
using System; namespace HomeWork1 { //定义一个Circle类,其功能有 class Circle { //-两个double类型属性X和Y,可读写圆心坐标 public double X { set; get; } public double Y { set; get; } //-一个double类型属性Radius,可读写圆的半径 public double Radius { set; get; } //-一个构造方法,以指定的x,y,radius来构造 public Circle(double X, double Y, double Radius) { this.X = X; this.Y = Y; this.Radius = Radius; } //-一个只读属性Area,获取圆面积 public double Area { get { return Radius * Radius * 3.1415926; } } //-一个只读属性Perimeter,获取圆周长 public double Perimeter { get { return 2 * Radius * 3.1415926; } } //-如果指定的点(x, y)处于本圆内,返回true public bool Contains(double x, double y) { if ((x - X) * (x - X) + (y - Y)* (y - Y) < Radius * Radius) { return true; } return false; } //-如果指定的圆circle包含在本圆内,返回true public 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; } //-半径扩大(加上range),输出扩大后的newCircle,返回true。如果Radius+range为负,无法扩大,则输出原来的圆,且返回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周长:{1}",circle.Area, circle.Perimeter); Console.WriteLine("(2,2)在本圆内:{0}", circle.Contains(2,2)); Console.WriteLine("Circle(1,1,1)在本圆内:{0}", circle.Contains(new Circle(1,1,1))); circle.Extend(2,out circle); Console.WriteLine("面积:{0}\t周长:{1}", circle.Area, circle.Perimeter); } } }
运行结果
题目:
编写一个矩形类(Rect)与一个圆类(Circle),
//分别通过构造方法对一个矩形对象(rect1) 与一个圆对象(circle1)
//进行初始化后,求出矩形与圆的面积。
//同时具有如下功能:可以设置和读取矩形的边长和圆的半径,
//但只能读取它们的面积,不能修改面积。
class Rect//矩形类 { public double a, b;//矩形的两条边 public Rect()//无参构造函数 { a = Convert.ToDouble(Console.ReadLine()); b = Convert.ToDouble(Console.ReadLine()); } } class Circle//圆形类 { public double r;//圆的半径 public Circle()//无参构造函数 { r = Convert.ToDouble(Console.ReadLine()); } } class Program { static void Main(string[] args) { double PI = 3.14; Console.WriteLine("请输入矩形的长和宽:"); Rect rect1 = new Rect();//创建一个Rect类的对象:rect1 double Srect1 = rect1.a * rect1.b;//矩形面积 Console.WriteLine($"矩形面积:{Srect1}"); Console.WriteLine(); Console.WriteLine("请输入圆的半径:"); Circle circle1 = new Circle();//创建一个Circle类的对象:circle1 double Scircle = circle1.r * circle1.r * PI;//圆面积 Console.WriteLine($"圆面积:{Scircle}"); Console.ReadKey(); } }
运行效果
创建圆形按钮挺简单的。
public class EllipseButton : Button { protected override void OnPaint(PaintEventArgs pevent) { GraphicsPath gPath = new GraphicsPath(); // 绘制椭圆形区域 gPath.AddEllipse(0, 0, this.ClientSize.Width, this.ClientSize.Height); // 将区域赋值给Region this.Region = new System.Drawing.Region(gPath); base.OnPaint(pevent); } }
效果图
到此这篇关于c#创建圆形类Circle、矩形类实现代码的文章就介绍到这了,更多相关c# 圆形类内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!
本文向大家介绍c++ 形状类Shape(派生出圆类Circle和矩形类Rectangle),包括了c++ 形状类Shape(派生出圆类Circle和矩形类Rectangle)的使用技巧和注意事项,需要的朋友参考一下 1.建立一个形状类Shape作为基类,派生出圆类Circle和矩形类Rectangle,求出面积并获取相关信息。 具体要求如下: (1)形状类Shape (a)保护数据成员 doubl
circle 标签 代码如下: 代码解释如下: cx 和 cy 属性定义圆点的 x 和 y 坐标。如果省略 cx 和 cy,圆的中心会被设置为 (0, 0) r 属性定义圆的半径
本文向大家介绍Android实现圆角矩形和圆形ImageView的方式,包括了Android实现圆角矩形和圆形ImageView的方式的使用技巧和注意事项,需要的朋友参考一下 Android中实现圆角矩形和圆形有很多种方式,其中最常见的方法有ImageLoader设置Option和自定义View。 1.ImageLoader加载图片 ImageLoader.getInstance().displa
在我的情况下,矩形接触圆形,但我认为没关系。 起初,我试着用两个Ficture来做同样的身体,但旋转有一个问题:我不能有一个带旋转的Ficture,另一个没有。 我认为,它应该与关节有某种联系,但我不知道我应该使用什么关节。也许还有其他解决方案?
主要内容:圆角矩形,椭圆示例JavaFX Shape类定义了常见的形状,例如线,矩形,圆,Arc,CubicCurve,Ellipse和QuadCurve。 在场景图上绘制矩形需要宽度,高度和左上角的(,)位置。 要在JavaFX中绘制一个矩形,可以使用类。 上面的代码生成以下结果。 圆角矩形 类实现了弧宽和弧高。可以使用这些功能来绘制圆角矩形。 上面的代码生成以下结果。 椭圆示例 上面的代码生成以下结果。
问题内容: 我设法实现了这种效果但是我对标记并不满意。另外,在IE10/11中有一个奇怪的错误,在您调整窗口大小时会显示1px的间隙。 还有其他方法吗?或者也许在IE中修复此问题。 编辑 圆不能使用边框,它应该是透明的。 问题答案: 您可以使用单个元素(加上伪元素)来完成此操作,而伪元素会创建圆,而父元素将背景用作背景。