这是我到目前为止的代码
int []d = {2,18,4,4,6,8,10};
int matchNumber = 4 ;
i=0 ;
for(i= 0; (match==d[i])&&(i < MAX_SIZE-1); i++);
{
if(matchNumber==d[i])
{
System.out.println("Match number " + matchNumber + " appears in array d at index " + d[i]);
}
else
{
System.out.print("-1");}
}
如果int是匹配项,则我必须显示它出现在数组中的第一个索引,否则,我必须显示-1.看来应该是这样写的,但是我一直得到-1作为答案.我如何保持相同的格式,因为我只能使用什么格式来获取正确的输出.
解决方法:
1)出现在索引i而不是d [i].那就是问题所在.我是你的索引.那就是您要打印的内容,而不是值d [i].我将索引打印出来,打破循环.
2)另外,您不应该具有println(“-1”);在循环内.如果找不到该值,则只希望将其打印出来.因此,我添加了一个布尔语句.如果找到该值,则等于true.如果找不到,那么我有一条打印语句以打印-1.
3)另外,也许您只是想让我<在循环中停止语句时的d.length. 4)另一个巨大的问题是;在for循环的末尾.我也解决了.的;甚至在循环开始之前就结束循环. 5)另外,您不需要循环外的i = 0.我在循环内添加了int i = 0声明.如果要保持原来的状态,则i = 0应该是int i = 0;否则,i = 0.
int []d = {2,18,4,4,6,8,10};
int matchNumber = 4 ;
boolean found = false;
for(i= 0; i < d.length; i++)
{
if(matchNumber==d[i])
{
System.out.println("Match number " + matchNumber
+ " appears in array d at index " + i);
found = true;
break;
}
}
if (!found) System.out.println("-1");
编辑:使用while循环
int []d = {2,18,4,4,6,8,10};
int matchNumber = 4 ;
boolean found = false;
int i = 0;
while (!found && i < d.length) {
if (matchNumber == d[i]){
System.out.println("Match number " + matchNumber
+ " appears in array d at index " + i);
found = true;
}
i++;
}
if (!found) System.out.println("-1");
标签:for-loop,int,arrays,java 来源: https://codeday.me/bug/20191122/2060075.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。