我有这个类,它在首选输入后显示数组的值:
class MyArrayList {
private int [] myArray;
private int size;
public MyArrayList (int value, int seed, int inc){
myArray = new int [value];
size = value;
for (int i = 0; i < size; i++) {
myArray [i] = seed;
seed += inc;
}
}
}
public class JavaApp1 {
public static void main(String[] args) {
MyArrayList a = new MyArrayList(5, 2, 1);
a.printList();
}
}
此程序显示以下输出: 2 3 4 5 6 现在我想找到4的索引,这样就可以了2但是我怎么能把它放到程序中呢?
答案 0 :(得分:2)
为值循环,然后你有索引,你可能想要这个作为MyArrayList类的函数
int[] myArray = {2,3,4,5,6};
for (int i = 0; i < myArray.length; i++)
{
if( myArray[i] == 4 )
System.out.println( "index=" + i);
}
答案 1 :(得分:1)
您需要在MyArrayList
类中编写一个方法,该方法获取您正在查找的值,并将其定位在数组中。要找到它,只需循环遍历数组,直到值匹配。
像这样......
public int findIndexOf(int value){
for (int i=0; i<size; i++) {
if (myArray[i] == value){
return i;
}
}
return -1; // not found
}
现在你需要在你的JavaApp1
类中调用这个新方法,它应该返回索引。
答案 2 :(得分:1)
关于Java的最好的部分之一是它是开源的,您可以查看所有标准API的来源。
这是ArrayList.indexOf(Object)方法的工作方式:
/**
* Returns the index of the first occurrence of the specified element
* in this list, or -1 if this list does not contain the element.
* More formally, returns the lowest index <tt>i</tt> such that
* <tt>(o==null ? get(i)==null : o.equals(get(i)))</tt>,
* or -1 if there is no such index.
*/
public int indexOf(Object o) {
if (o == null) {
for (int i = 0; i < size; i++)
if (elementData[i]==null)
return i;
} else {
for (int i = 0; i < size; i++)
if (o.equals(elementData[i]))
return i;
}
return -1;
}