java-如何确定类型为int的值是否匹配数组?
作者:互联网
这是我到目前为止的代码
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