2016-02-25 138 views
0

我的for循环忽略发现场,发现==真,即使账面上:的Java:for循环忽略条件

public int getDownYEntities() { 
    int loc = 16; 
    boolean found = false; 
    EntityType eCheck; 
    for (int col = locY; col < 17 || !found; col++) { 
     eCheck = level[locX][col]; 
     System.out.println("Called"); 
     if ((eCheck == EntityType.ROCK) || (eCheck == EntityType.BOULDER) || (eCheck == EntityType.KEY) || (eCheck == EntityType.EXIT)) { 
      switch (eCheck) { 
       case ROCK: 
        loc = col - 2; 
        found = true; 
        break; 
       case BOULDER: 
        loc = col - 2; 
        found = true; 
        System.out.println("Test1"); 
        System.out.println(found); 
        break; 
       case KEY: 
        loc = col - 2; 
        found = true; 
        break; 
       case EXIT: 
        loc = col - 1; 
        found = true; 
        break; 
      } 
     } 
     else 
     { 
      loc = col-1; 
     } 
    } 
    return loc; 
} 

登录:

I/System.out: Called 
I/System.out: Called 
I/System.out: Called 
I/System.out: Called 
I/System.out: Called 
I/System.out: Called 
I/System.out: Called 
I/System.out: Test1 
I/System.out: true 
I/System.out: Called 
I/System.out: Called 
I/System.out: Called 
I/System.out: Called 
I/System.out: Called 
I/System.out: Called 
I/System.out: Called 
I/System.out: Called 
I/System.out: Called 
I/System.out: Called 

我是不是一个完整的白痴或者其他的东西?

回答

6
col < 17 && !found 

你想“和”,而不是“或”。

+0

哇,我的坏,傻我。 – Nikz11