package zongheanli5;import java.util.Scanner;public class zongheanli5 {public boolean aaa(int n,int[]arr) { //查找数组元素的方法 boolean flag=false;//默认是没找到 for(int i=0;i<arr.length;i++) { if(arr[i]==n) flag=true; break; } return flag;//????? } public static void main(String[]args) { int a[]=new int[]{12,132,156,87,88}; Scanner sc=new Scanner(System.in); System.out.println("请输入一个元素"); int b=sc.nextInt(); zongheanli5 abc=new zongheanli5(); boolean flag=abc.aaa(b, a); if(flag) System.out.println("找到了!"); else System.out.println("没找到!");}}我想问没有编译错误 可是输入第一个值为12输出找到了 剩下的其他值无论对错 都显示没找到还有return是怎么传递值的 感谢
2 回答
已采纳
伤心的夏天
TA贡献5条经验 获得超3个赞
在if那里加个括号,把flag=true和break都扩上就行了。因为你不加括号,它就只能找数组中第一个元素,第二个元素找不到,就直接跳出循环,返回false了
添加回答
举报
0/150
提交
取消