public int indexOfTarget (int[] values, int target)
强制练习8)完成indexOfTarget方法,该方法传递两个参数:一个int(值)数组和一个int(目标)。该方法返回指定整数目标第一次出现的数组中的索引位置。如果目标在数组中出现,则返回第一个此类事件的索引。
例如,如果输入数组是 {3,7,2,4},目标是7
该方法返回1
如果此数组中没有出现此类整数,则返回-1。
一个例子: indexOfTarget({3,7,2,4},7)`应返回1.
public int indexOfTarget (int[] values, int target) {
int targetMatch=-1;
for(int i=0;i<values.length;i++){
if(values[i]==target){
targetMatch=values[i];
}
}
return targetMatch;
}
my results http://gyazo.com/7892260b1721b8623ba4ac4477d8b12f.png
答案 0 :(得分:2)
您希望targetMatch = i;
不是targetMatch=values[i];
您应该保存索引,而不是值。
在您设置break;
if
语句中添加targetMatch
答案 1 :(得分:2)
你应该targetMatch = i
。您需要索引值,而不是该索引处的数组值。
答案 2 :(得分:0)
当数组包含有效的int值时,此java代码应适用于所有方案。 *不是有效的int值。
public class Program
{
public static void main(String[] args)
{
int[] values= {3, 7, 2, 4};
int target = 7;
int position = indexOfTarget(values,target);
if(position>-1)
System.out.println("Pass");
else
System.out.println("Fail");
}
public static int indexOfTarget (int[] values, int target) {
int targetMatch=-1;
for(int i=0;i<values.length;i++){
if(values[i]==target){
targetMatch=i;
return i;
}
}
return targetMatch;
}
}