A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨靖 中级黑马   /  2013-9-25 16:24  /  2680 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨靖 于 2013-9-26 14:49 编辑

小马在自学视频的时候,发现c#视频while循环复习的作业,有一题是这样的:老师问学生,这道题你会做了吗?
如果学生答“会了(y)”,则可以放学
如果学生不会做(n),则老师再讲一遍,再问学生是否会做了
直到学生会或者老师讲了10遍还不会,都要放学

按照视频的思路运行了下,发现老师讲课这个行为进行了11次,才结束,while循环进行了10次,我觉得循环前面不应该加入老师讲课的事件,这样总共就讲了11次课(不知道是不是小的挑刺了!{:soso_e110:}),附上本人的代码和视频截图
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace pro5
  6. {
  7.     class Program
  8.     {
  9.         //老师问学生,这道题你会做了吗?
  10.         //如果学生答“会了(y)”,则可以放学
  11.         //如果学生不会做(n),则老师再讲一遍,再问学生是否会做了
  12.         //直到学生会或者老师讲了10遍还不会,都要放学
  13.         static void Main(string[] args)
  14.         {
  15.             string answer = null;
  16.             int i = 0;
  17.             while (i < 10 && answer != "y")
  18.             {
  19.                 Console.WriteLine("老师讲题中...");
  20.                 Console.WriteLine("这道题你会做了吗?");
  21.                 answer = Console.ReadLine();
  22.                 i++;
  23.             }
  24.             Console.WriteLine("放学!!!");
  25.             Console.ReadKey();
  26.         }
  27.     }
  28. }
复制代码

22复习-作业讲解[2520130916386GMT].JPG (74.09 KB, 下载次数: 48)

22复习-作业讲解[2520130916386GMT].JPG

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

6 个回复

正序浏览
杨靖 中级黑马 2013-9-26 14:49:28
7#
段朝骞 发表于 2013-9-25 19:46
是的,老师在循环前加了一个,多判断了一次

怪不得,谢谢!
回复 使用道具 举报
是的,老师在循环前加了一个,多判断了一次

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报

是的,老师的代码是在循环语句前,单独加了一个一次问答
回复 使用道具 举报
设个断点 调试运行。
回复 使用道具 举报
你的i=0;i<10,即总共十次。没问题呀!那么老师的视频里代码是怎么样的?  
其实就如楼上所说的,循环次数看你的循环变量的设置而定的。

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
循环里面被执行了几次!主要根据你的循环条件来看!      调试   看结果!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马