用HashSet/Random写摇号器(数字不重复、无序)
练习:
上一篇博客使用LIST集合来存储随机数,但是LIST<>可以存储重复数据,也就是说在选定区间内多次使用随机数可能出现重复,
例如从1到10选9个数那么很大概率会选取重复的数字。
暂时没想出有什么好办法可以解决随机数重复的问题
偶然间发现HashSet<>的Add()方法不可以写入重复元素,随机数重复的问题也就迎刃而解了。
美中不足的是HashSet中的元素是无序的。。。
从下面可以看到没有重复,但是数字的没有排序。。。不知道这个问题如何解决
直接复制过来代码:
using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 抽号
{public partial class NumForm : Form{public NumForm(){InitializeComponent();}public void c(){txtFrom.Text = "";txtQuan.Text = "";txtRe.Text = "";txtTo.Text = "";}private void timer1_Tick(object sender, EventArgs e){//星星lblTop.Text = lblTop.Text.Substring(1) + lblTop.Text.Substring(0, 1);}///开始按钮private void btnStart_Click(object sender, EventArgs e){if (txtFrom.Text == "" | txtTo.Text == "" | txtQuan.Text == ""){MessageBox.Show("请输入完整信息");return;}int x = int.Parse(txtFrom.Text);int y = int.Parse(txtTo.Text);int n = int.Parse(txtQuan.Text);HashSet<int> Set = new HashSet<int>();Random r = new Random();aa: for (int i = 1; i <= n; i++){Set.Add(r.Next(x, y + 1));}if (n != Set.Count){Set.Clear();goto aa;}foreach (int a in Set){txtRe.Text += "--" +a.ToString()+"--";}}private void NumForm_Load(object sender, EventArgs e){this.ActiveControl = this.txtFrom;}private void btnReset_Click(object sender, EventArgs e){c();}}
}
用HashSet/Random写摇号器(数字不重复、无序)相关推荐
- C#制作一个简易抽奖或摇号器
自己制作了一个简易的摇号器,使用的是C#语言,利用随机数,在一个richtextbox里产生随机数字,利用两个numericupdown来控制范围和个数. 如图 给摇号button添加click事件 ...
- 第二篇T语言实例开发(版本5.3),福彩3D摇号器
福彩3D摇号器 先验知识功能的含义与使用 功能是TC源程序的基本模块,通过对功能模块的调用实现特定的功能,TC语言中的功能相当于其他高级语言的子程序. 在TC里面,功能分为三大部分: TC库功能:这类 ...
- java 随机点名器和随机摇号器
java实训20210810 java 随机点名器 和 随机摇号器 随机点名器,即在全班同学中随机的打印出一名同学名字. 要做的随机点名器,它具备以下3个内容: 存储所有同学姓名 总览全班同学 ...
- 彩票摇号器java代码_多线程的简单应用----彩票摇号器
效果图: package game; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.Ac ...
- Flash 摇号器(支持姓名导入)
寒假无事,朋友要做个年终奖发奖用的抽奖摇号器.支持名字导入(用excel保存为123.xml文件,且在相同目录下xml文件夹内,123.xml中第一列为序号,第二列为姓名),显示,列出等功能.现将我做 ...
- 简易摇号器——学习WindowsPhone上的Timer
C#中有三种常用的Timer,分别是 1.System.Windows.Forms.Timer 2.System.Threading.Timer 3.System.Timers.Timer 而在Win ...
- 如何用alpinejs制作一个机选摇号器
<div class="container" x-data="jixuan()" x-init="() => {getRandFive() ...
- C#,WINFORM,随机数生成,摇号器(初步作品)
练习,摇号~ 还没弄出来LIST集合中重复元素判断部分 现在的号码还会有重复 小细节不完善 基本功能仅限于两个数字区间内选取几个随机数 日后更新~ 完整代码: using System; using ...
- 用linux模拟彩票摇号器下载,大乐透模拟摇奖器拟选号器
大乐透模拟摇奖器拟选号器是一款非常实用的彩票app,它给你带来了强大的模拟选号功能,同时也可以让小伙伴们更加钻研选号规律,让你能够轻松赢得大奖,只要你掌握一门技术,就可以稳步提升自己的收益哦,喜欢的朋 ...
最新文章
- 解读eXtremeComponents代码结构--转载
- Java代码注释规约
- euler‘s formula
- GreenDao3.2简单使用
- 机器学习基础-决策树-12
- AODV中实施watchdog
- 设置密码命名是什么linux,orapwd 工具建立密码文件遵守的命名方法
- 首届React开发者大会于2018年8月18日在广州举办
- 【记录】idea创建springboot多模块项目
- 添加RPMfusion仓库
- ps怎么一下选中多个图层_ps新手入门之蒙版工具
- python学生成绩分析与预测
- Expandable Button
- python f检验 代码_python f检验
- 一份热乎乎的字节面试真题
- 2012 九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)
- Autoware Docker安装和仿真
- Flutter 与 RN对比
- android 记录路线轨迹_Android定位并记录轨迹项目源码
- 金融day03 —— 银行支付结算、银行资产业务