首页 > 编程语言 >C# 第三次练习

C# 第三次练习

时间:2024-12-16 11:43:13浏览次数:3  
标签:Cylinder 第三次 C# double 练习 hight radius 圆柱体 public

类与继承

C# 使用窗口实现交互
1.创建一个圆柱体类:
(1)包含私有字段半径和高,并设置其属性,要求半径和高必须是大于0的数;
(2)包含求表面积和体积的方法;
(3)有无参和有参的构造函数;
(4)包含一个能输出圆柱体信息的方法。
创建一个圆柱体数组,并为数组每个元素赋值,要求输出数组中圆柱体半径、高、表面积和体积。

Form类

using System;
using System.Windows.Forms;
 namespace Ysa_第三次练习_类与继承
{
    public partial class Form1 : Form
    {
        //实例化圆柱类数组
        Cylinder[] cylinders = new Cylinder[3];
        //计数器,统计输入的信息个数
        int i = 0;

        public Form1()
        {
            InitializeComponent();
        }

        //每次点击按钮事件,进行一次圆柱体信息的录入
        private void button1_Click(object sender, EventArgs e)
        {
            //接收的信息 圆柱体的半径以及高度
            double radius = double.Parse(textBox1.Text);
            double hight = double.Parse(textBox2.Text);
            //实例化圆柱体,并将参数传入
            Cylinder c = new Cylinder(radius,hight);
            //将实例化的圆柱体存入数组
            cylinders[i] = c;
            i++;
            //
            label1.Text = "初始化第"+(i+1)+"个圆柱体属性";

        }
        //
        private void button2_Click(object sender, EventArgs e)
        {
            //遍历输出圆柱体数组的信息(借助圆柱体类的方法)
            foreach (Cylinder n in cylinders)
            {
                infor.Text += n.Information() + "\n";
            }
        }
    }
}

 

Cylinder 圆柱类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ysa_第三次练习_类与继承
{
    //圆柱 Cylinder
    class Cylinder
    {
        private double radius;
        private double hight;
        //参数构造器
        public double R
        {
            get { return radius; }
            set
            {
                if (value > 0)
                    radius = value;
            }
        }
        public double H {
            get { return hight; }
            set
            {
                if (value > 0)
                    hight = value;
            }
        }
        //求表面积和体积的方法
        public double Biaomianji() {
            double dmj = radius * radius * Math.PI*2;
            double cemianji = hight * 2 * Math.PI * radius;
            return dmj + cemianji;
        }
        public double Tiji() {
            return radius*Math.PI*radius*hight;
        }
        //输出圆柱体的信息
        public string Information()
        {
            string x = "圆柱体的半径:"+radius+"高:"+hight+"表面积:"+Biaomianji()+"体积:"+Tiji();
            return x;
        }
        //构造函数(有参和无参)
        public Cylinder() {
        }
        public Cylinder(double r,double h) {
            if (r > 0 && h > 0)
            {
                radius = r;
                hight = h;
            }
            else
            {
                throw new ArgumentException("半径必须大于0");
            }
        }
    }
}

删除线

引用
*** 分割线 ---

标签:Cylinder,第三次,C#,double,练习,hight,radius,圆柱体,public
From: https://www.cnblogs.com/yaolicheng/p/18609618

相关文章

  • UI框架DevExpress XAF v24.2新功能预览 - .NET Core / .NET增强
    DevExpressXAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。DevExpressXAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。在上文中(点击这里回顾>>),我们为大家介绍了DevExpressXAFv24.2......
  • ElasticSearch 常见故障解析与修复秘籍
    文章目录一、ElasticSearch启动服务提示无法使用root用户二、ElasticSearch启动提示进程可拥有的虚拟内存少三、ElasticSearch提示用户拥有的可创建文件描述符太少四、ElasticSearch集群yellow状态分析五、ElasticSearch节点磁盘使用率过高,read_only状态问题解决六、Elas......
  • Qt/C++地图测距/显示不同线段的距离/拿到测距结果/测距结束信号
    一、前言说明地图测距在地图组件中属于一个比较小众的功能,但是又不得不提供,有时候用户希望直接在地图上选点,测算距离,尤其是在一些军事领域用的比较多,测距功能提炼出来的共性就是,每一段都有距离,最后鼠标右键或者双击结束测距,然后发个信号传过来总的距离。一般地图厂家也都提供了对......
  • EXCEL生成助记码宏
    1、打开要生成的EXCEL文件,选择工具--宏---VisualBasic编辑器(快捷键:alt+f11)2、选择:插入--模块--把下方的代码粘贴到里面,保存。3、代码4、保存后,回到EXCEL内容编辑界面。5、在需要生成助记码的地方。输入公式=pinyin(相应的汉字单元格)。注意:1、启用宏2、列格式为常......
  • SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】处理
    一、概述SSL/TLS协议信息泄露漏洞(CVE-2016-2183)漏洞说明:SSL全称是SecureSocketsLayer,安全套接字层,它是由网景公司(Netscape)设计的主要用于Web的安全传输协议,目的是为网络通信提供机密性、认证性及数据完整性保障。如今,SSL已经成为互联网保密通信的工业标准。SSL最初的几个版本......
  • .Net Core 特性 获取Cookie,未登录跳转登录界面
    特性:usingMicrosoft.AspNetCore.Mvc;usingMicrosoft.AspNetCore.Mvc.Filters;usingNewtonsoft.Json.Linq;usingSystem.Net;usingWaterCloud.Entity.SystemManage;namespaceOPAC.App_Start.Handler{publicclassAdminAuthorizeAttribute:TypeFilterAttr......
  • 使用 JavaScript 进行验证码图片识别
    我们可以使用Node.js环境下的一些库来进行验证码的图像处理和识别,常用的库有sharp(图像处理)和tesseract.js(OCR文字识别)。以下是一个实现验证码识别的基本示例。安装依赖首先,确保你已经安装了Node.js和npm(Node包管理器)。然后在项目目录中安装所需的库:bashnpminit-yn......
  • 零基础学习人工智能—Python—Pytorch学习(十二)
    前言本文介绍使用神经网络进行实战。使用的代码是《零基础学习人工智能—Python—Pytorch学习(九)》里的代码。代码实现mudule定义首先我们自定义一个module,创建一个torch_test17_Model.py文件(这个module要单独用个py文件定义),如下:importtorch.nnasnnimporttorch.nn.fun......
  • RepoDB:一个介于Dapper、EFCore之间.Net的ORM库
    推荐一个介轻量ORM和全功能ORM的开源项目。01项目简介RepoDB提供了基本操作所需的方法,同时也提供了一些高级功能,如第二层缓存、跟踪、仓储、属性处理器和批量/大量操作。支持的数据库,包括SqlServer、SQLite、MySql和PostgreSql等。02关键特性1、基础操作支持RepoDB提供了......
  • Halcon中watersheds(Operator)算子原理及应用详解
    在Halcon中,watersheds算子是一种基于灰度值的拓扑关系进行图像分割的方法。该算子的原型为watersheds(Image:Basins,Watersheds::),其中Image为输入的图像,Basins为分割后得到的盆地区域,Watersheds为分割的边界线。以下是对watersheds(SmoothedByte,Basins,Watershed......