黑马程序员技术交流社区

标题: 关于if else的问题,急!! [打印本页]

作者: zhangx    时间: 2013-4-12 21:19
标题: 关于if else的问题,急!!
本帖最后由 zhangx 于 2013-4-13 10:56 编辑

如下面代码,我想查询temp是不是给定数组的元素,当temp=4即是给定数组里的元素时没问题,当temp=40时,怎么显示打印temp不是数组的元素啊?
代码:
public class Demo{
        public static void main(String args[]){
        int score[]={0,1,2,3,4,5,6,7,8,9};
        int temp=4 ;
        for(int i=0;i<score.length;i++){
                if(temp==score){
                        System.out.println(temp+"是数组的元素");
                        }
                                }
}
}

作者: 何锦权    时间: 2013-4-12 21:43
没有这么诡异吧
作者: 张先龙    时间: 2013-4-12 21:44
本帖最后由 张先龙 于 2013-4-12 21:48 编辑

public class Test{
         public static void main(String args[]){
         int score[]={0,1,2,3,4,5,6,7,8,9};
         int temp=40 ;
         for(int i=0;i<score.length;i++){
                 if(temp==score){
                         System.out.println(temp+"是数组的元素");
                         }
                 else{System.out.println(temp+"不是数组的元素");break;   }         
         }
}
}

作者: 范鹏飞    时间: 2013-4-12 21:52
本帖最后由 范鹏飞 于 2013-4-12 21:53 编辑

  1. <P> </P>
复制代码
  1. public class Demo
  2. {
  3. public static void main(String[] args)
  4. {
  5. int score[] = {0,1,2,3,4,5,6,7,8,9};
  6. int temp = 4;
  7. //定义一个开关,
  8. boolean flag = true;
  9. for (int i=0; i<score.length; i++)
  10. {
  11. if (temp==score[i])
  12. {
  13. System.out.println(temp + "是数组的元素");
  14. flag = false;
  15. }
  16. }
  17. if (flag)//flag = false时,说明数组中没有temp值。
  18. {
  19. System.out.println(temp + "不是数组的元素");
  20. }
  21. }
  22. }
复制代码

作者: 想学跑的猪    时间: 2013-4-12 22:01

public class DemoTest{
    public static void main(String args[]){
    int score[]={0,1,2,3,4,5,6,7,8,9};
    int temp=4 ;
    int i;
    for(i=0;i<score.length;i++){
            if(temp==score[i]){
                    System.out.println(temp+"是数组的元素");
                    break;
                    }
                            }
    if(i>=score.length)
            System.out.println(temp+"不是数组的元素");
}
}
当判断出temp是数组元素时,退出循环,
如果没有找到temp相匹配的数,那么就会遍历10次,那么i=10,在后面用if语句判断依稀就可以了。不知道符不符合你的要求。
作者: CrazyProgram    时间: 2013-4-12 22:07
  1. public class Demo {
  2.         public static void main(String[] args) {
  3.                 int score[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
  4.                 int temp = 40;
  5.                 boolean flag = true;
  6.                 for (int i = 0; i < score.length; i++) {
  7.                         if (temp == score[i]) {
  8.                                 System.out.println(temp + "是数组的元素");
  9.                                 flag = false;
  10.                         }
  11.                 }
  12.                 if (flag)// flag = false时,score没有temp
  13.                 {
  14.                         System.out.println(temp + "不是数组的元素");
  15.                 }
  16.         }
  17. }
复制代码
还有该注意格式的问题,,养成好习惯
作者: ~(@^_^@)~    时间: 2013-4-12 22:17
这里的temp是指,数组中的元素,score[]中的元素包括0-9,没有40这个元素,自然显示不是其中的元素
作者: 杨永胜    时间: 2013-4-12 22:32
定义标记位,或者再次判断信息
作者: PANZERLEADER    时间: 2013-4-12 22:54
  1. public class StringTest {
  2.         public static void main(String args[]) {
  3.                 int score[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
  4.                 int temp = 40;
  5.                 // 设置一个标志变量,用于判断是否找到temp
  6.                 boolean flag = false;
  7.                 for (int i = 0; i < score.length; i++) {
  8.                         if (temp == score[i]) {
  9.                                 System.out.println(temp + "是数组的元素");
  10.                                 // 如果找到了,就把标志置为true
  11.                                 flag = true;
  12.                         }
  13.                 }
  14.                 // 如果沒有找到,就打印沒找到的语句
  15.                 if (!flag)
  16.                         // 打印temp不是数组中元素的语句
  17.                         System.out.println(temp + "不是数组的元素");

  18.         }
  19. }
复制代码
没找到的语句不能放在循环里做,不然每次没找到,都会输出一次,所以在找到的情况下设置一个标志,循环完后通过判断标志来控制输出没找到的语句。



作者: 打工人    时间: 2013-4-12 23:11

如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢




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