黑马程序员技术交流社区
标题:
求高手指错,关于函数的小问题。(已搞定)
[打印本页]
作者:
曾_强
时间:
2012-4-30 00:43
标题:
求高手指错,关于函数的小问题。(已搞定)
本帖最后由 jiyixuan 于 2012-4-30 08:08 编辑
//查找5,有5:输出"有5,排在数组中的第几位";没有5,输出“没有5”。
class FindoutFive
{
public static void main(String[] args)
{
int[] data = { 1, 2, 5, 443, 41 };
for (int i = 0; i < data.length; i++)
{
if (data
== 5)
{
System.out.println("有5,排在数组中的第" + (i+1)+"位");
return;
}
System.out.println("没有5");
}
}
}
运行结果为:
没有5
没有5
有5,排在数组的第3位;
可是我只想输出5,或者只输出没有5,请高手指错呀。
作者:
贾联国
时间:
2012-4-30 00:57
本帖最后由 贾联国 于 2012-4-30 01:01 编辑
如果学到集合,用集合最方便,没有的话就只能将就用这个代码了:
class FindFive
{
public static void main(String[] args)
{
int[] data = { 1, 2, 5, 443, 41 };
boolean b= true;
for (int i = 0; i < data.length; i++)
{
if (data[i] == 5)
{
System.out.println("有5,排在数组中的第" + (i+1)+"位");
b =false;
return;
}
}
if (b)
{
System.out.println("没有5");
}
}
}
复制代码
作者:
杨威
时间:
2012-4-30 02:16
class FindoutFive
{
public static void main(String[] args)
{
int[] data = { 1, 2, 5, 443, 41 };
for (int i = 0; i < data.length; i++)
{
/*
首先,之所以在“有5”前面还输出了两次“没有5”是因为在满足下面的data[i]==5之前
的判断中,对于data[0]=1和data[1]=2的两种不满足if中条件的语句后都运行了语句
System.out.println("没有5");对于你想要的结果其实将语句System.out.println("没有5");
注释掉就可以了。
*/
if (data[i] == 5)
{
System.out.println("有5,排在数组中的第" + (i+1)+"位");
return;
}
//System.out.println("没有5");
}
}
}
复制代码
解答在代码的注释部分,比较详细吧?
作者:
曾_强
时间:
2012-4-30 08:08
哦啦,thanks anyway。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2