c#创建圆形类Circle、矩形类实现代码
作者:mdxy-dxy 发布时间:2023-08-18 19:59:12
标签:c#,圆形类
c#创建圆形类,其中包括set,get方法
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();
}
}
}
C#——Circle(圆)类
问题描述
定义一个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);
}
}
}
运行结果
C# 圆类,矩形类算面积
题目:
编写一个矩形类(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();
}
}
运行效果
C#-创建圆形/椭圆形按钮
创建圆形按钮挺简单的。
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);
}
}
效果图
来源:https://blog.csdn.net/weixin_43272781/article/details/104880342
0
投稿
猜你喜欢
- 本文实例为大家分享了java实现自动登录的具体代码,供大家参考,具体内容如下当你勾选(记住登录状态),用cookie保存用户名和密码。不勾选
- 质数又称素数。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数;否则称为合数。根据算术基本定理,每一个比1大的整数,要么本
- 日常的开发中经常会需要用到自定义View,这次刚好有个需求,需要用到带有节点的进度条。东西很简单直接继承View就行了。首先定义一些需要的属
- 一、wapper介绍Wrapper : 条件构造抽象类,最顶端父类AbstractWrapper : 用于查询条件封装,生成 sql 的 w
- 仅做学习交流,如有侵犯联系必删。前言一篇酷狗app安卓逆向的文章,难度适中。样本: 酷狗app v10.8.8工具: jadx、Pixel3
- 由于项目需求,需要将数据导出成Excel表格,并且可选择导出项,可下载。项目使用的Spring+Mybatis+SpringMVC框架,利用
- 前面讲完了Redis的分布式锁的实现,接下来讲Redisson的分布式锁的实现,一般提及到Redis的分布式锁我们更多的使用的是Rediss
- 问题描述:String preStr = "a.b.c"; // 这里要把该字符串按小圆点进行分割,成"a&q
- 一、前言android客户端开发进入尾声,负责SEO同事突然发给我一个涉及45个发布渠道的噩耗,之前只发布自有渠道的工作方式(手动修改参数打
- 问题是这样的在开发时,为了节约时间,我选择了mybatis框架来开发,然后又在网上找了一个许多人都推荐的mybatis-plus来作为持久层
- 在一个项目中使用到一个问卷调查,在用户完成之后,需要统计所有题目中哪一个选项被选中次数最多。我的实现方法是将所有题目选中的选项拼接为一个字符
- springcloud微服务包含的技术种类众多,eureka作为其注册中心,一直处于主流,但在今年已经处于永久停更状态,但其优秀的能力还是值
- 这一节我们将探索选择器(selectors)。选择器提供选择执行已经就绪的任务的能力,这使得多元 I/O 成为可能。就像在第一章中描述的那样
- 前言无意中翻到几年前写过的一个RatingBar,可以拖拽,支持自定义星星图片,间距大小等参数。自定义参数为了方便扩展,支持更多的样式,这里
- 1.下载AndroidStudioAndroidStudio官网下载地址:http://developer.android.com/intl
- 概要设计模式是一门艺术,如果真正了解这门艺术,你会发现,世界都将变得更加优美。定义定义一个用于创建对象的接口,让其子类去决定实例化那个类使用
- Java 线程对比Thread,Runnable,Callablejava 使用 Thread 类代表线程,所有现场对象都必须是 Threa
- 本文实例讲述了winform实现限制及解除鼠标移动范围的方法。分享给大家供大家参考。具体如下:限制鼠标的移动范围:// this.Curso
- using System;using System.Drawing;namespace PubLib{ /// <summa
- 目录切换语言核心代码使用dragonFace改系统语言本篇简单介绍将在Android App中进行语言的切换和使用dragonFace改系统