黑马程序员技术交流社区

标题: 如果不用go to也能解决此问题吗? [打印本页]

作者: 苟于伟    时间: 2013-5-18 21:03
标题: 如果不用go to也能解决此问题吗?
  1. static void Main(string[] args)
  2.         {
  3.             //随机生成10个1-100之间的数放到ArrayList中,要求这10个数不能重复,并且都是偶数。
  4.             int[] ArrayList = new int[10];

  5.             Random r = new Random();

  6.             for (int i = 0; i < 10; i++)
  7.             {

  8.                 while (ArrayList[i] == 0)
  9.                 {
  10.                     A:  //用goto设定一个跳回点
  11.                     int num = r.Next(1, 101);     //产生随机数

  12.                     if (num % 2 == 0)//判断是否为偶数
  13.                     {

  14.                         for (int j = 0; j < i; j++)//判断新产生的随机数和之前产生的是否重复
  15.                         {

  16.                             if (num == ArrayList[j])
  17.                             {

  18.                                 goto A;//跳回到A点

  19.                             }

  20.                         }

  21.                         ArrayList[i] = num; //既是偶数又不和前面的重复时,加入数组中

  22.                     }

  23.                     else
  24.                     {

  25.                         continue;

  26.                     }

  27.                 }

  28.             }

  29.             foreach (int i in ArrayList)//循环输出数组的值
  30.             {

  31.                 Console.Write(i + " ");

  32.             }




  33.             Console.ReadKey();

  34.         }
复制代码

作者: 陈行    时间: 2013-5-18 21:06
continiu啊  这个问题可以  在循环中遇到continiu  就从循环头部开始再次执行
作者: 苟于伟    时间: 2013-5-18 21:15
淡.。 发表于 2013-5-18 21:06
continiu啊  这个问题可以  在循环中遇到continiu  就从循环头部开始再次执行

用continiu反回不到while语句开始的位置。
作者: 陈行    时间: 2013-5-18 21:35
苟于伟 发表于 2013-5-18 21:15
用continiu反回不到while语句开始的位置。

哦  那在我学的知识只有goto了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2