Java 如何获取我不知道的数组的索引';我不知道? 任务 方法: 说明:
必修练习8)完成IndexOftTarget方法,该方法传递两个参数:一个int(值)数组和一个int(目标)。该方法返回指定整数目标第一次出现的数组中的索引位置。如果目标出现在数组中,则返回第一次出现的索引 例如,如果输入数组是 {3,7,2,4}目标是7 该方法返回1 如果此数组中没有出现这样的整数,则返回-1 例如: indexOfTarget({3,7,2,4},7)`应该返回1 到目前为止,我写了:Java 如何获取我不知道的数组的索引';我不知道? 任务 方法: 说明:,java,arrays,loops,indexing,Java,Arrays,Loops,Indexing,必修练习8)完成IndexOftTarget方法,该方法传递两个参数:一个int(值)数组和一个int(目标)。该方法返回指定整数目标第一次出现的数组中的索引位置。如果目标出现在数组中,则返回第一次出现的索引 例如,如果输入数组是 {3,7,2,4}目标是7 该方法返回1 如果此数组中没有出现这样的整数,则返回-1 例如: indexOfTarget({3,7,2,4},7)`应该返回1 到目前为止,我写了: public int indexOfTarget(int[]值,int目标){ int
public int indexOfTarget(int[]值,int目标){
int targetMatch=-1;
对于(int i=0;i您想要targetMatch=i;
而不是targetMatch=value[i];
您应该保存索引,而不是值
我还将在设置targetMatch
的值后,立即在if
语句中添加break;
,您需要targetMatch=I;
而不是targetMatch=values[I];
您应该保存索引,而不是值
我还将在if
语句中添加break;
,在设置targetMatch
的值之后,您应该立即使用targetMatch=I
。您需要的是索引值,而不是该索引处数组的值。您应该使用targetMatch=I
。您需要的是x值,而不是该索引处数组的值。当数组包含有效的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;
}
}
公共类程序
{
公共静态void main(字符串[]args)
{
int[]值={3,7,2,4};
int目标=7;
int position=indexOfTarget(值,目标);
如果(位置>-1)
系统输出打印项次(“通过”);
其他的
系统输出打印项次(“失败”);
}
公共静态int indexOfTarget(int[]值,int目标){
int targetMatch=-1;
对于(int i=0;i当数组包含有效的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;
}
}
公共类程序
{
公共静态void main(字符串[]args)
{
int[]值={3,7,2,4};
int目标=7;
int position=indexOfTarget(值,目标);
如果(位置>-1)
系统输出打印项次(“通过”);
其他的
系统输出打印项次(“失败”);
}
公共静态int indexOfTarget(int[]值,int目标){
int targetMatch=-1;
对于(inti=0;它使所有的试验都工作,除了:输入:{1,4,20,0,4,5,4},目标:4预期:1实际:6结果:FAIL@NatalieCorfe-Tan I在我的回答中解决了这个问题,因此,成功进入if块后,剩下的就是离开for循环。如果不退出for循环,则有可能再次进入if块并覆盖索引值,I。尝试搜索如何退出for循环:)或者不要搜索,而是看一下@durron597的答案。他给了你你想要的答案。很好。很高兴我们能提供帮助。这些都有意义吗?这使得所有的试验都有效,除了:输入:{1,4,20,0,4,5,4},目标:4预期:1实际:6结果:FAIL@NatalieCorfe-Tan I在我的回答中解决了这个问题,因此,成功进入if块后,剩下的就是离开for循环。如果不退出for循环,则有可能再次进入if块并覆盖索引值,I。尝试搜索如何退出for循环:)或者,不要搜索,而是看一下@durron597的答案。他给了你你想要的答案。很好。很高兴我们能提供帮助。这些都有意义吗?试着先考虑一下或者调试。@Alya'a Gamal对我答案的评论值得一看,Natalietry先考虑一下或者调试。@Alya'a Gamal对我答案的评论值得一看。@Alya'a Gamal对我答案的评论值得一看,娜塔莉
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;
}
}