前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >请用一个实际案例解读如何使用循环语句?

请用一个实际案例解读如何使用循环语句?

作者头像
高一峰
修改2020-09-22 14:20:02
1K0
修改2020-09-22 14:20:02
举报
文章被收录于专栏:高渡号外高渡号外

请用一个实际案例解读如何使用循环语句?

—— 新手编程1001问之C#编程基础


昨天看了循环语句的语法讲解,受益匪浅。但还是希望能提供一个实际的应用案例,来解读一下循环语句的具体实现方法。可以吗?

当然可以。下面我们就来列举和解读一个循环语句的实际应用案例。

设计需求:

请找到这样一个正整数数列,它的长度是100,最大值不超过1000,每个整数虽然随机出现,但是每两个相邻的整数都不相等。

需求分析:

(1)目标对象是一个整数数列。

(2)每个数字随机出现。

(3)最大值不超过1000。

(4)每两个相邻的整数都不相等。

(5)数列长度100。

实现方法:

第一步:创建一个int类型的列表实例,用于存放该数列

代码语言:javascript
复制
List<int> myList = new List<int>();

第二步:了解如何创建一个随机整数。

代码语言:javascript
复制
 //创建一个生成随机数类型的实例,调用Random类的Next方法
Random ran = new Random()
//创建一个1-1000之间的随机整数
int x = ran.Next(1,1000);

第三步:定义一个循环语句,用于反复产生随机的整数,并把它存储到myList列表。循环语句的终止条件是myList的长度等于100。

因为,无法确定循环的次数,也不是读取一个已有的序列,所以,不方便使用for循环和foreach循环。剩下的还有do循环和do...while循环。它们之间也是有差异的,我们这里选择使用while循环,请同学们思考一下,为什么不选择do...while循环。

代码语言:javascript
复制
//创建一个生成随机数类型的实例
Random ran = new Random()
//循环语句
while(myList.Count<100)
{
 //创建一个1-1000之间的随机整数
 int x = ran.Next(1,1000);
 //将获得的x添加到列表
    myList.Add(x);
}

上面的代码,会产生100个随机整数的列表,但这个没有排除相邻相等的问题。

第四步:需要增加一个判断,因为添加到myList列表的随机数,不能与上一个数字相等,以确保每两个相邻的数字不相等。

方法是:定义一个变量,用于存储每次循环产生的随机数,如果新一轮循环产生的随机数与它不相等,那么,就允许添加到myList列表,否则,直接跳到下一轮循环。

于是,我们得到最终的代码是:

第五步:整理完整代码

代码语言:javascript
复制
//创建一个存储目标数列的列表类型的实例
List<int> myList = new List<int>();
//定义一个变量,用于临时存放循环产生的符合规则的随机整数
int y = 0;
//创建一个生成随机数类型的实例
Random ran = new Random()
//循环开始
while(myList.Count<100)
{
 //创建一个1-1000之间的随机整数
 int x = ran.Next(1,1000);
    //判断刚刚得到的随机整数是否与上一轮获得的有效整数相同
    if(x!=y){
 //将获得的x添加到列表
        myList.Add(x);
        //将符合规则的新的随机整数存储到y变量
        y=x;
    }else{
 continue;
    }
}
// 下面是打印输出找到的数列,我们也用一个循环语句读取它的所有值
// 这个肯定就是使用foreach循环了
foreach(int item in myList){
    Console.WriteLine(item );
}

最后再一次核对需求分析:

(1)目标对象是一个整数数列。

(2)每个数字随机出现。

(3)最大值不超过1000。

(4)每两个相邻的整数都不相等。

(5)数列长度100。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 高渡号外 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 请用一个实际案例解读如何使用循环语句?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档