标签:nbsp break 赋值 变量赋值 write clip ogr 变量 bre
前几天写课堂作业的时候遇到了一个问题,用c#写了一个质数排列,但是只能输出第一个质数61,控制台不输出2,有点懵。
class Program { static void Main(string[] args) { bool isFind=false; int[] nums = new int[] { 61,55, 85, 2, 9 }; for (int i = 0; i < 5; i++) { for (int j = 2; j < nums[i]; j++) { if (nums[i]%j==0) { isFind = true; break; } } if (isFind==false) { Console.WriteLine(nums[i]); } } } }
课堂上的IDE并不好用,拷回家用JAVA又写了一下才能在eclipse里打断点。
发现是个变量赋值的问题,在第一层for循环后面要重新给isFind=0才行啊,不然isFind一直是1,到2的时候也就完全无法输出了。
这种低级错误,谨慎避免。
补充下,2会输出是因为不满足第二层for里面的j<nums[i]。这点倒是写的时候就想到了。
严谨的逻辑要慢慢培养啊~
标签:nbsp break 赋值 变量赋值 write clip ogr 变量 bre
原文地址:http://www.cnblogs.com/gomokoro/p/6528423.html