黑马程序员技术交流社区

标题: 有一个语句无法单次输出 [打印本页]

作者: brouse    时间: 2015-5-6 21:24
标题: 有一个语句无法单次输出
今天写了一个程序,如下,在遍历数组后,如果找到该数,怎么才能不输出第二个语句?
class Arr
{
    public void getNumber(int [] arr,int key)
    {
        for(int x=0 , x<arr.length , x++)
            {
                if(arr[x]==key)
                    System.out.println("you get it,it's"+x);
            }   
         System.out.println("the number is not existance");
}
}
class ArrTest
{
    public static void main(String[] args)
    {
        int [] b={2,5,7,1,4};
        Arr.a=new Arr();
        a.getNumber(arr,5);
        
     }
}
结果如果是不存在的话,会输出“the number is not existance”,这没什么问题,但是如果是在数组中存在的数,就会输出“"you get it,it's"+x”,但同时会吧不存在时的语句“the number is not existance”再输出一遍,用两个if的话也不行,我在if下加了一个else if(arr[x]!=key&&x=arr.length-1),想用最后也没找到的话就输出“the number is not existance”,结果也不行,大神们,谁能给破了?

  我就是想如果给的数是属于数组的话就仅仅输出"you get it,it's"+x,如果找不到就仅仅输出“the number is not existance”,因为我把第二个语句放进循环中就会被多次执行,求解!
作者: lshaizj    时间: 2015-5-6 21:30
if(arr[x]==key)
System.out.println("you get it,it's"+x);
加一个
else if (x==arr.length -1)
{
System.out.println("the number is not existance");
}
作者: 吾爱SF    时间: 2015-5-6 21:36
学习啦,,,
作者: 敢舍弃么    时间: 2015-5-6 22:00
改成这样就可以了
if(arr[a]==key){
                        System.out.println("you get it,it's"+a);
                        return;
                }
作者: onETT    时间: 2015-5-6 22:17
{:2_32:}{:2_32:}{:2_32:}{:2_32:}{:2_32:}
作者: 水货-年华    时间: 2015-5-9 20:53
试验下就知道了
作者: brouse    时间: 2015-5-9 20:55
小心被逮到




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2