class Test {
public static void main(String[] args){
int arr1[]={1,5,6,8,3,7,9};
Find c1=new Find();
c1.indexOf(arr1[],7);
}
}  class Find{
int indexOf(arr1[] a,arr1 b){
int i=0;
while(i<7){
if(arr1[i].equals(obj)) return i+1;
i++;

}
return -1;
}
}
大侠们帮我看看怎么查找一个数组的特定元素,并打印出来,我刚学不久,很多都不懂,为什么上面不能运行,大侠们能指导一下吗?

解决方案 »

  1.   

    class Test {
    public static void main(String[] args){
    int arr1[]={1,5,6,8,3,7,9};
    Find c1=new Find();
    c1.indexOf(arr1[],7);
    }
    } class Find{
    int indexOf(arr1[] a,arr1 b){
    int i=0;
    while(i<7){
    if(arr1[i].equals(obj)) return i+1;
    i++;}
    return -1;
    }
    }
    这个是哪来的
      

  2.   


    public class Test3 {
    public static void main(String[] args) { 
    int arr1[]={1,5,6,8,3,7,9};
    Find c1=new Find();
    System.out.println(c1.indexOf(arr1,7));
        } 
    }class Find{
    int indexOf(int[] a, int b){
    int i=0;
    while(i<a.length){
    if( a[i] == b ) 
    return ++i; //这里返回的是 b 在 a 中的位置(从1开始计数的);
    i++ ;
    }
    return -1;
    }
    }
      

  3.   

    int indexOf(arr1[] a,arr1 b); //这里的参数类型写错了,你把声明的变量直接填里了
    while(i<7); //这里最好不要指定循环次数,否则就是硬编码了
    c1.indexOf(arr1[],7); // 这里调用方法的时候,参数写错了
      

  4.   

    整形数组直接
    public int indexOf(int[] a, int b){

    if(b>1 && b<=a.length)
    return a[b-1];
    else
    return -1;
    }
      

  5.   


    public class Test3 {
    public static void main(String[] args) { 
    int arr1[]={1,5,6,8,3,7,9};
    Find c1=new Find();
    System.out.println(c1.indexOf(arr1,6));
        } 
    }class Find{
    int indexOf(int[] a, int b){
    int i=0;
    while(i<a.length){
    if( a[i++] == b ) 
    return i; //这里返回的是 b 在 a 中的位置(从1开始计数的);
    }
    return -1;
    }
    }刚才那个还可以简化下。
    楼上的你那代码我咋看不懂呢
      

  6.   

    if(arr1[i].equals(obj)) return i+1;
    arr1是int型数组,元素arr[i]是int基本类型数据没有equals方法
      

  7.   

    package my.first;public class Test {
    public static void main(String [] args){
    int a[]={1,32,44,543,464,65,};
    int m;
    m=Test.find(a,65);
    System.out.println("所在的位置是:"+m);
    }
    public static int find(int a[],int b){
    for(int i=0;i<a.length;i++){
    if(a[i]==b){
    return i+1;
    }
    }
    return 0;
    }}