Java数组元素搜索程序重复输出问题求助
Java数组查找重复输出“未找到”问题修复
问题原因
你的代码逻辑存在缺陷:在for循环的else分支中直接输出“未找到”提示,每遍历到一个不匹配的元素就会打印一次,导致找到目标前重复出现多余提示。正确逻辑应该是:遍历完所有元素后,确认未找到目标时再输出一次提示。
修复方案
- 新增布尔变量标记是否找到目标
- 循环内仅处理“找到目标”的场景,更新标记并跳出循环
- 循环结束后根据标记判断是否输出“未找到”提示
修正后的代码
int[] array = new int[10]; array[0] = 6; array[1] = 2; array[2] = 8; array[3] = 1; array[4] = 3; array[5] = 0; array[6] = 9; array[7] = 7; System.out.print("Search for? "); int searching = in.nextInt(); // 标记是否找到目标元素 boolean found = false; for(int i=0; i<array.length; i++){ if(searching == array[i]){ System.out.println(searching + " is at index " + i + "."); found = true; break; } } // 遍历结束后统一判断是否未找到 if(!found){ System.out.println(searching + " was not found."); }
效果验证
- 查找存在的数字(如1),输出符合预期:
Search for? 1 1 is at index 3.
- 查找不存在的数字(如5),仅输出一次提示:
Search for? 5 5 was not found.
内容的提问来源于stack exchange,提问作者Amin Mousavi
相关产品推荐
相关产品推荐

