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