当前位置: 首页 > news >正文

C#,入门教程(04)——Visual Studio 2022 数据编程实例:随机数与组合

上一篇:

C#,入门教程(03)——Visual Studio 2022编写彩色Hello World与动画效果https://blog.csdn.net/beijinghorn/article/details/123478581

C#,入门教程(01)—— Visual Studio 2022 免费安装的详细图文与动画教程https://blog.csdn.net/beijinghorn/article/details/123350910

C#,入门教程(02)—— Visual Studio 2022开发环境搭建图文教程https://blog.csdn.net/beijinghorn/article/details/123434181

真正的程序从数据开始,到数据结束。

先简单复习一下:

(1)前面三节课的代码,有不少不懂的?对的。咱们是沉浸式教学,如同把你扔到大不列颠大街上、大厦里去学习英语。不懂的,先放过!

(2)学习了 PanelButton 以及 WebBrowser 三种组件,和 WindowsForm 程序界面的简单设计方法;WebBrowser 是最好的输出!

(3)知道了 字符串 string 数据类型及其简单的使用方法,做出了彩色的 Hello World 和动画!

(4)学习了随机数 Random,还学了一点 html 的知识。

这节课,学习 C# 的 “数” 与 数值!

所有编程语言都要处理这些数据:字节、(长、短)整数、(单、双精度)浮点数(含专门用于计算金额的金融专用数值)及字符与字符串、object。当然还有这些数据的各种集合。

1、C#数据第一:数字的组合!

C#的常用数据类型是 int 、 double 以及 string。int 是整数(英文 integer) 的简称,默认占据 4 个字节;double 是双精度实数(double precision real number)的简称,占 8 个字节。

int 可以用来表示很大的整数了,包括正负数。比如:双色球的奖池,为 ¥1,854,403,191元 ,大约18亿,就可以用 int 表示: 

int winPool = 1854403191;

注:如果奖池超过25亿,能行吗?答:int 不够了,用 long!

一个独立的数值,通常不是程序的主体。一串数据才更有意义,比如一串数字组成的彩票号码!下面学习编写一段程序,随机生成一注彩票号码,或许能中500万呢(:P)。

先用前面 课程学习的方法,创建 WindwosForm,Panel1,Panel2,WebBrowser1 及 Button1,Button2,Button3。

 双击 Button1 ,编写(复制)相应的代码:

在 前面加入一行,定义一个随机数发生器 rnd。

 public partial class Form1 : Form{Random rnd = new Random();public Form1(){InitializeComponent();}

增加 button1_click 的代码:

private void button1_Click(object sender, EventArgs e)
{// 双色球最多6个红球int redBallMax = 6;// 有效红球数量;int redBall = 0;// 结果字符串,用于保存最后的成果!string redBallString = "<font color=red>";// 循环!while (redBall < redBallMax){// 生成一个红球号码!string oneRedBall = String.Format("{0:D2}", rnd.Next(1, 34));// 如果结果字符串中已经有新代码,不行啊!if (redBallString.Contains(oneRedBall)){continue;}// 添加新号码到结果redBallString += oneRedBall + ",";redBall++;}// 去掉最后的一个逗号!避免被投注站老板骂哦!redBallString = redBallString.Substring(0, redBallString.Length - 1);redBallString += "</font>";// 再加入蓝球!string blueBallString = "<font color=blue>";blueBallString += String.Format("{0:D2}", rnd.Next(1, 17));blueBallString += "</font>";// 号码显示到浏览器webBrowser1.DocumentText = redBallString + "+" + blueBallString;
}

特别要注意其中的逻辑(逻辑是程序的灵魂!):

(1)红球最多6个,不能重复!号码在 01 与 33 之间;

(2)蓝球只有 1个,号码在 01-16 之间。

点击【Button1】 就能生成一注彩票号码!如果现在的时间是每周二、四、日的20:00之前,可以去投注站买彩票哈!中了500万,给俺私信表示一下感谢哦!

2、C#数据之二:合理的组合!

实际上,你拿着上面的彩票号码去购买,老板娘还是会暗暗骂你?新瓜蛋子。

为什么?因为红球顺序乱来,在彩票终端上找来找去,浪费时间撒。

程序员 和 码农 的本质区别就是为谁着想,程序员为他人着想,码农为自己和老板着想。

咱们在上述代码的基础上,做出些改进。要用到新的数据类型:数组!

数组 array ,就是 一组数啊。C# 是这样的:

int oneNumber; // 定义一个数int[] numberArray = new int[34]; // 定义一个存储34个数字的数组

彩票号码、身高数据、数学成绩等等都是一组数,一个方向检索计算即可,称为一维数组;一张Excel表格也是一组数,但需要从两个方向检索计算,称为二维数组;一个房间或飞机座舱内温度的分布,是立体的数据,需要从xyz三个方向检索计算,称为三维数组;一个房间或飞机座舱内温度、不同时间的分布,是超级立体的数据,需要从xyzt四个方向检索计算,称为四维数组;如此可以没完没了......

北京联高软件开发有限公司开发的 Truffer 与 Matlab 一样,支持无限维计算。

改进后的代码,双击【Button2】,写在 button2_click 中,如下:

private void button2_Click(object sender, EventArgs e)
{// 整数数组,记录33个红球的标志int[] redBallArray = new int[34];int redBallMax = 6;int redBall = 0;while (redBall < redBallMax){// 生成一个随机的红球数字int oneRedBall = rnd.Next(1, 34);// 标志位已经设置,再来!if (redBallArray[oneRedBall] == 1){continue;}// 设置标志位redBallArray[oneRedBall] = 1;redBall++;}// 从01开始检索每个标志位int redBallIndex = 1;string redBallString = "<font color=red>";while (redBallIndex < redBallArray.Length){if (redBallArray[redBallIndex] == 1){redBallString += String.Format("{0:D2}", redBallIndex) + ",";}redBallIndex++;}redBallString = redBallString.Substring(0, redBallString.Length - 1);redBallString += "</font>";// 蓝球string blueBallString = "<font color=blue>";blueBallString += String.Format("{0:D2}", rnd.Next(1, 17));blueBallString += "</font>";// 显示500万中奖号码 :PwebBrowser1.DocumentText = redBallString + "+" + blueBallString;
}

更多数值与数学的花样,且听下回及所有下回分解。

 ——————————————————————

POWER BY 315SOFT.COM &
TRUFFER.CN

下一篇:

C#,入门教程(05)——Visual Studio 2022源程序(源代码)自动排版的功能动画图示https://blog.csdn.net/beijinghorn/article/details/124675293

相关文章:

C#,入门教程(04)——Visual Studio 2022 数据编程实例:随机数与组合

上一篇&#xff1a; C#&#xff0c;入门教程(03)——Visual Studio 2022编写彩色Hello World与动画效果https://blog.csdn.net/beijinghorn/article/details/123478581 C#&#xff0c;入门教程(01)—— Visual Studio 2022 免费安装的详细图文与动画教程https://blog.csdn.net…...

UWB高精度定位技术在智能仓储中的应用

​在智能化和数字化转型的浪潮中&#xff0c;UWB高精度定位系统逐渐成为企业优化仓储管理和生产调度的关键技术。结合RFID标签打印机和服装生产型ERP软件&#xff0c;这一技术为企业带来了全新的管理方式和效率提升。 UWB高精度定位系统的核心优势 UWB&#xff08;超宽带&…...

计算机毕业设计hadoop+spark视频推荐系统 短视频推荐系统 视频流量预测系统 短视频爬虫 视频数据分析 视频可视化 视频大数据 大数据

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

【AI编辑器】字节跳动推出AI IDE——Trae,专为中文开发者深度定制

目录 一、背景 二、核心特性 2.1 AI驱动的代码自动生成 2.2 智能问答与代码补全 2.3 多语言支持 2.4 插件与扩展 三、架构 四、下载使用 4.1 下载与安装 4.2 界面与配置 五、应用实践 5.1 快速生成代码 5.2 智能问答与调试 5.3 团队协作与代码审查 六、与Cursor…...

CSDN 博客之星 2024:默语的技术进阶与社区耕耘之旅

CSDN 博客之星 2024&#xff1a;默语的技术进阶与社区耕耘之旅 &#x1f31f; 默语&#xff0c;是一位在技术分享与社区建设中坚持深耕的博客作者。今年&#xff0c;我有幸再次入围成为 CSDN 博客之星TOP300 的一员&#xff0c;这既是对过往努力的肯定&#xff0c;也是对未来探…...

《探秘鸿蒙Next:非结构化数据处理与模型轻量化的完美适配》

在鸿蒙Next的人工智能应用场景中&#xff0c;处理非结构化数据并使其适配模型轻量化需求是一项关键且具有挑战性的任务。以下是一些有效的方法和策略。 数据预处理 数据清洗&#xff1a;非结构化数据中往往存在噪声、重复和错误数据。对于文本数据&#xff0c;要去除乱码、特殊…...

async++库的使用示例

1、普通异步函数 如前面的博客介绍的&#xff0c;这个库中提供了async::spawn方法&#xff0c;这个方法通常用来启动异步函数&#xff0c;这个框架会利用线程池去完成函数&#xff0c;因此要注意数据安全。正因为将任务放到了单独的线程执行&#xff0c;并且还有调度开销&…...

springboot基于微信小程序的手机银行系统

Spring Boot基于微信小程序的手机银行系统是一种结合现代Web技术和移动应用优势的创新金融服务平台。 一、系统背景与意义 随着信息技术的快速发展和用户对便捷金融服务需求的日益增长&#xff0c;传统手机银行系统的人工管理方法已逐渐显露出效率低下、安全性低以及信息传输…...

25/1/22 算法笔记<ROS2> TF变换

TF&#xff08;Transform&#xff09; 是 ROS&#xff08;Robot Operating System&#xff09;中的一个核心功能&#xff0c;用于管理和发布坐标系之间的变换关系。TF 的主要作用是描述机器人系统中各个部分&#xff08;如传感器、执行器、底盘等&#xff09;之间的位置和姿态关…...

Android系统开发(六):从Linux到Android:模块化开发,GKI内核的硬核科普

引言&#xff1a; 今天我们聊聊Android生态中最“硬核”的话题&#xff1a;通用内核镜像&#xff08;GKI&#xff09;与内核模块接口&#xff08;KMI&#xff09;。这是内核碎片化终结者的秘密武器&#xff0c;解决了内核和供应商模块之间无尽的兼容性问题。为什么重要&#x…...

dp 凸优化

时间有点仓促&#xff0c;过几天会补。 来自 czz 学长的课&#xff0c;SMWC -> Day4 。 目录 凸函数介绍WQS二分1. P2619【国家集训队 2】Tree I2. CF739E Gosha is hunting 闵可夫斯基和1. QOJ-5421 Factories Once More2. GD 省集 tower Slope Trick1. CF713C2. ABC217H3.…...

详细介绍:Kubernetes(K8s)的技术架构(核心概念、调度和资源管理、安全性、持续集成与持续部署、网络和服务发现)

目录 前言1、K8s架构概述1.1、控制面&#xff08;Control Plane&#xff09;1.2、工作节点&#xff08;Worker Node&#xff09; 2、Kubernetes核心概念2.1、Pod2.2、ReplicaSet2.3、Deployment2.4、Service2.5、Namespace2.6、ConfigMap与Secret2.7、Persistent Volume&#x…...

[SAP ABAP] Dialog屏幕开发

Dialog屏幕开发在SAP ABAP环境中被广泛应用于创建交互式的用户界面&#xff0c;允许终端用户与应用程序进行互动 Dialog屏幕开发相关资料 [Dialog屏幕开发] 设置GUI Status 菜单/GUI Title 标题 [Dialog屏幕开发] 屏幕绘制(文本/输入框/按钮控件)...

安全测试之 SSTI 模板注入入门

文章目录 一、什么是SSTI&#xff1f;二、python 中的 Jinja2 漏洞验证三、Java 的 Thymeleaf 模版漏洞验证四、小结 一、什么是SSTI&#xff1f; SSTI&#xff08;Server-Side Template Injection&#xff09;是一种服务器端模板注入漏洞&#xff0c;它出现在使用模板引擎的W…...

滑动窗口解题模板

滑动窗口适用于固定长度的窗口问题&#xff0c;或者需要动态维护一个窗口的场景。 模板 public int slidingWindowTemplate(int[] nums, int k) { int n nums.length; int maxSum 0; // 记录最大值&#xff08;或最小值&#xff09; int windowSum 0; // 当前窗口的值 …...

SOC和SOH的含义

SOC 和 SOH 是在电池管理系统中常见的两个概念&#xff0c;通常用于描述电池的状态&#xff0c;以下是具体解释&#xff1a; SOC&#xff08;State of Charge&#xff09; 定义&#xff1a;荷电状态&#xff0c;也叫剩余电量&#xff0c;反映的是电池在一定条件下当前所剩余的…...

Genetic Prompt Search via Exploiting Language Model Probabilities

题目 利用语言模型概率的遗传提示搜索 论文地址&#xff1a;https://www.ijcai.org/proceedings/2023/0588.pdf 项目地址&#xff1a;https://github.com/zjjhit/gap3 摘要 针对大规模预训练语言模型(PLMs)的即时调优已经显示出显著的潜力&#xff0c;尤其是在诸如fewshot学习…...

1561. 你可以获得的最大硬币数目

class Solution:def maxCoins(self, piles: List[int]) -> int:piles.sort()res,n0,len(piles)for i in range(n//3):respiles[n-2-2*i]return res这里如果"你"想要获取最大&#xff0c;那么从最大的开始找 每隔俩算一个最大累计&#xff0c;Bob默认自己从最小那找…...

DNA结合之Motif_1:CNN

1&#xff0c;首先可以识别在KO前后的motif——》由CNN模型做出识别&#xff0c;看看这个有没有什么灵感 2&#xff0c;ZNF143等都可以使用来识别 3&#xff0c;暂时只使用单个peak文件&#xff0c;后期可以使用ENCODE中所有的对应的TF的peak文件 1&#xff0c;文件解压之后…...

kong 网关和spring cloud gateway网关性能测试对比

该测试只是简单在同一台机器设备对spring cloud gateway网关和kong网关进行对比&#xff0c;受限于笔者所拥有的资源&#xff0c;此处仅做简单评测。 一、使用spring boot 的auth-service作为服务提供者 该服务提供了一个/health接口&#xff0c;接口返回"OK"&…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...