为了账号安全,请及时绑定邮箱和手机立即绑定

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

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;

                }

            }

        }


正在回答

2 回答

首先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 跳出本次循环


1 回复 有任何疑惑可以回复我~
#1

慕仙5026560 提问者

谢谢你的提醒以及方法,对之前的回复感到抱歉,但本身并没有想要质问的意思,可能是我表达的问题吧。sorrysorry
2019-03-28 回复 有任何疑惑可以回复我~

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的整倍数");

            }


1 回复 有任何疑惑可以回复我~
#1

慕仙5026560 提问者

如果删除else中的break,会输出9次“没有7的整倍数”,这个break只是跳出了else吧,for循环还是继续执行的。我知道你写的代码是OK的,但还是没搞懂我那个问题出在哪。请多指教。
2019-03-26 回复 有任何疑惑可以回复我~
#2

慕数据8441107 回复 慕仙5026560 提问者

break 是跳出for循环,不是跳出else,可以百度 c# break,很全面
2019-09-23 回复 有任何疑惑可以回复我~
#3

慕数据8441107 回复 慕仙5026560 提问者

你这种写法很有问题,数组里虽然有很多个数组元素,但用break,只循环一次就结束了for循环(前面有人说,if不能用break,感觉怪怪的,如果if嵌套在for循环中就可以使用break,if单独不能使用),最后举个栗子,把数组中的元素11改成14,运行结果还是“没有7的整倍数”,说到这应该明白了吧
2019-09-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信