问答详情
源自:5-8 编程练习

请问这样写有问题么?输出正确,但有一次警告

static void Main(string[] args)

        {

            //声明整型数组,保存一组整数

            int[] num = new int[] { 3,34,43,2,11,19,30,55,20};

            //请完善代码,判断数组中有没有7的整倍数

            for(int i = 0 ; i < num.Length ; i++)

            {

                if(num[i]%7==0)

                {

                Console.Write("有7的整倍数");

                break;

                }

                else

                {

                Console.Write("没有7的整倍数");

                break;

                }

            }

        }


提问者:慕仙5026560 2019-03-25 23:09

个回答

  • 蠢哭呀
    2019-03-28 15:23:04
    已采纳

    首先if中不能放

    break;
    这个只是终止循环的。
    
    其次,如果循环里套了if,在if中放入break,是跳出循环。
    
    continue 这个是跳出本次循环的。
    
    int[] num = new int[] { 3,34,43,2,11,19,30,55,20}; 
    //请完善代码,判断数组中有没有7的整倍数
     for (int i = 0; i < num.Length; i++){   
      Console.WriteLine();//换行
          if (num[i] % 7 == 0)    {    
              //跳出本次循环前会打印,       
               Console.Write("有7的整倍数");
                continue;//跳过本次循环
         }
         else    {
             Console.Write("没有7的整倍数");
            continue;
     
        }            
      }
    
    
    ps:另外别人回答你时,你要自己求证下,不要一上来就是质问!
    
    建议遇到问题的解决思路是 上网搜索资料》 代码证明 》 还是不行 》虚心请教
    
    例如你这个问题 搜索 C# if 跳出本次循环


  • 慕仰2600257
    2019-03-26 10:56:44

    else中的break删除。否则循环一次就直接退出了。

     //声明整型数组,保存一组整数

                int[] num = new int[] { 3,34,43,2,11,19,30,55,20};

                //请完善代码,判断数组中有没有7的整倍数

                bool y = false;

                foreach(int n in num){

                    if(n%7==0){

                        y = true;

                        break;

                    }

                }

                

                if(y){

                    Console.Write("有7的整数倍");

                } else {

                    Console.Write("没有7的整倍数");

                }