中易网

Java编程:顺序查找,找到则返回在数组的位置,找不到则返回-1.哪位能告诉我下面的代码哪里错了?不甚感激

答案:3  悬赏:40  
解决时间 2021-11-09 00:13
public class SequentiaSearch{
public static int findnum(int a[],int value){
boolean found=false;
int i=0;
System.out.println("Looking for "+value);
while(!found){
if(value==a[i])
found=true;
i++;
}
return((found)?i:-1);
}
public static void main(String args[]){
int a[]=new int[100];
for(int i=0;i a[i]=i;
System.out.println("result:"+findnum(a,24));
System.out.println("result:"+findnum(a,99));
System.out.println("result:"+findnum(a,240));
}
}
最佳答案
养成好习惯 块语句和循环语句 用大括号包起来 不然很容易就语句穿透了,找bug来相当费力
public class SequentiaSearch{
public static int findnum(int a[],int value){
boolean found=false;
int i=0;
System.out.println("Looking for "+value);
while(!found){
if(value==a[i]){
found=true;
return i ;
}
i++;
}
}
public static void main(String args[]){
int a[]=new int[100];
for(int i=0;i a[i]=i;
}
System.out.println("result:"+findnum(a,24));
System.out.println("result:"+findnum(a,99));
System.out.println("result:"+findnum(a,240));
}
}
全部回答
while (!found&&i
  • 2楼网友:高冷不撩人
  • 2021-11-08 02:06
写了一段代码,有点繁琐,但基本实现了: public static void main( string [] args ){ boolean flag = false; int[] a = {50,1,50}; for (int i = 0; i < a.length/2; i++) { if(a[i]==a[a.length-1-i]){ flag = true; }else{ flag = false; } } if(flag){ system.out.println("对称"); }else{ system.out.println("不对称"); } for (int j = 0; j < a.length; j++) { if(a[j]==50){ system.out.println("a["+j+"]="+a[j]); } } } 希望对你有帮助。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯