代码如下
public class Test4_2 {
public static void main(String[] args) {
int[] arr={19,28,37,46,50,19,19};
int[] index = getIndex(19, arr);
if(index.length==0){
System.out.println("你的输入有误");
}else {
for (int i = 0; i < index.length; i++) {
System.out.println(index[i]);
}
}
}
/*
需求:设计一个方法,查找元素在数组中的索引位置(考虑重复元素问题)
注意:return只能返回一个结果
问题:当一个方法运行结束后,有多个结果需要返回,怎么处理?
回答:可以将多个结果,存入一个数组容器,将其数组返回
*/
public static int[] getIndex(int num, int[] arr){
//统计要查找的元素,在数组中出现的个数
int count=0;
for (int i = 0; i < arr.length; i++) {
if (arr[i]==num){
count++;
}
}
//2.根据统计出来的个数,创建数组容器
int[] jieshou=new int[count];
int index = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i]==num){
//jieshou[0]=0;
//jieshou[1]=5;
//jieshou[2]=6;
jieshou[index]=i;
index++;
}
}
//4.将装满了索引的数组,返回
return jieshou;
}
}
运行结果
0
5
6