虚心请教一个数组的问题,求解。
- C# code
int[] xx = new int[9] { 11, 25, 3, 47, 6, 17, 38, 9, 10 }; Console.WriteLine("请输入要查询的数:"); int cx = int.Parse(Console.ReadLine()); for (int i = 0; i < xx.Length; i++) { if (xx[i] == cx) { Console.WriteLine("{0}是数组中的第{1}元素", cx, i + 1); } else if (xx[i] == xx.Length + 1) { Console.WriteLine("找不到"); } else { } } Console.ReadLine();
是控制台里面做的,比如输入“10” 只显示“("{0}是数组中的第{1}元素", cx, i + 1);”
而不显示“找不到”
如果随便输了个数组中没有的 那么就只出现1边“找不到”
我现在做的效果是随便输个没有的数 只出现一次 “找不到”
但是输了有的值出现了正确结果后还出现了一边 找不到。
求解。
[解决办法]
找到值后 直接break跳出循环即可:
- C# code
int[] xx = new int[9] { 11, 25, 3, 47, 6, 17, 38, 9, 10 }; Console.WriteLine("请输入要查询的数:"); int cx = int.Parse(Console.ReadLine()); for (int i = 0; i < xx.Length; i++) { if (xx[i] == cx) { Console.WriteLine("{0}是数组中的第{1}元素", cx, i + 1); break; //注意此处 } else if (xx[i] == xx.Length + 1) { Console.WriteLine("找不到"); } else { } } Console.ReadLine();