for ( int i = 0; i<test.length; i++)
    {
      if (test[i].equals(a))
      {
        System.out.print(i);
        break;
      }
    }

解决方案 »

  1.   

    这是一个查找问题啊
    如果test无序,则遍历test,和a比较
      

  2.   

    有没有一个简单的api函数能算出来的?
      

  3.   

    现在问题是这个 a 也在一个数组test1中,我要遍历test1才能取出 a ,然后再拿 a 和 test比较。这样的话就容易出现 n 个循环了,我该怎么办?
      

  4.   

    for ( int i = 0; i<test.length; i++)
        {
          if (test[i].equals(a))
             System.out.print(i);
        }
      

  5.   

    Arrays类有个方法:binarySearch(Object[] a, Object key) 
    使用二分法搜索指定的对象
    对于你的问题就是
    Arrays.binarySearch(test,"a");
    try this!
      

  6.   

    楼上的方法不错,util类中提供了2分查找等一些查找方法。
      

  7.   

    Arrays类有个方法:binarySearch(Object[] a, Object key) 
    使用二分法搜索指定的对象
    对于你的问题就是
    Arrays.binarySearch(test,"a");这个方法我试了好像对String[]不管用。返回的值为什么时能确定他存在呢?给我返回的是 -27
      

  8.   

    Arrays.binarySearch(test,"a");
    Arrays.binarySearch还有许多其它的重载用法,总之在数组查找,用Arrays.binarySearch即可!
      

  9.   

    好像必须要排序才能用Arrays.binarySearch
      

  10.   

    虽然楼主已经结贴,但是我接着说两句,
    确实,Arrays的所有binarySearch()方法都是对于已经排好序的数组来说的,若数组未排序,则调用的结果是undefined,这个在javadoc中有说明!