Arrays 正在数组中查找项

Arrays 正在数组中查找项,arrays,indexing,Arrays,Indexing,第一:我不能使用数组包;我们老师的要求。我浏览了整个网站,似乎有很多建议的解决方案都涉及到这个包 我的问题是: 我有一个数组,里面充满了Object类型的对象,我需要使用一个方法在该数组中找到一个特定的项并返回数组索引。如果未找到任何内容,则返回-1 我创建的方法如下 public int find(Object item) { int isFind = -1; for (int i = 0; i <= array.length; i++) { i

第一:我不能使用数组包;我们老师的要求。我浏览了整个网站,似乎有很多建议的解决方案都涉及到这个包

我的问题是:

我有一个数组,里面充满了Object类型的对象,我需要使用一个方法在该数组中找到一个特定的项并返回数组索引。如果未找到任何内容,则返回-1

我创建的方法如下

    public int find(Object item) { 
    int isFind = -1;
    for (int i = 0; i <= array.length; i++) {
        if (array[i] == item)
            isFind = i;
    } return isFind;
我做错了什么

谢谢你的意见

用于初始化空数组的代码

private Object array[];
ContainerVer1(int size){
    array = new Object[size];
    for  (int i = 0; i <=(size-1); i++) {
        array[i] = null;
    }
}
私有对象数组[];
Container1(整数大小){
数组=新对象[大小];
对于(int i=0;i

C#语法顺便说一句,在Java中也应该类似

这里有几个问题:


1) 索引关闭了1(更改您得到的异常是什么?异常说明了什么?数组中有什么?您对对象(对象引用)的比较可能没有按照您预期的方式进行,但是如果没有更多信息,我认为您在这方面不会得到太多帮助。还可以用语言标记您的答案(我想是Java)。您可能必须将对象强制转换为ArrayAll中元素的类型,因此请检查您的索引,可能应该是“Iprivate Object array[]; ContainerVer1(int size){ array = new Object[size]; for (int i = 0; i <=(size-1); i++) { array[i] = null; } }
public boolean add(Object item) {
    boolean hasSpace = false;
    for (int i = 0; i < array.length; i++) {
        if (array[i] == null) {
        array[i] = item;
        hasSpace = true;
        break;
        } else hasSpace = false;
    } return hasSpace;
ContainerVer1 arrayofStrings = new ContainerVer1(5);


    do {
        System.out.println("Please enter a string or 'DONE' to finish");
        Scanner sc = new Scanner(System.in);
        userInput = sc.next();
        userInput = userInput.toUpperCase();
        if (userInput.equals("DONE") == false)
        arrayofStrings.add(userInput);
        count++;


    } while (userInput.equals("DONE") == false && count <=4);
if (array[i] == (int)item) // if array is of type int []
arrayofStrings.add(userInput);
int index = arrayofStrings.find(userInput);
System.out.printf("object index: %d\n", index);
arrayofStrings.add(userInput);
int index2 = arrayofStrings.find("TEST");
System.out.printf("string index: %d\n", index2);