if条语句件中,单个条件都为true,可是写在一起却是false,why

f.isbig()判断大于4为true,否则为false

ju[0][0]=2;ju[1][0]=6;ju[2][0]=1;ju[3][0]=7;ju[4][0]=2;ju[5][0]=7;ju[6][0]=8;ju[7][0]=8;ju[8][0]=8;ju[9][0]=8;

if((f.isbig(ju[0][0])==false)&&(f.isbig(ju[1][0])==true)&&(f.isbig(ju[2][0])==false)&&(f.isbig(ju[3][0])==true)&&(f.isbig(ju[4][0])==false)&&
          ( f.isbig(ju[5][0])==true)&&(f.isbig(ju[6][0])==true)&&(f.isbig(ju[7][0])==true)&&(f.isbig(ju[8][0])==true)&&(f.isbig(ju[9][0])==true)){
     System.out.println("r");
}

System.out.println("r");无法执行,为什么??????????

肯定是有不符合的,你逐个条件去掉,看看是哪个条件不符合

建议楼主if之前逐个打印isbig返回的值,我这个试了下是能打印出r的值的,楼主肯定是哪里写错了一个地方,或者直接贴个代码的图

连在一起有时候会相互影响的。逻辑问题,你需要自己去排除

把==false和==true去掉,改用!

你用Log.i()打印试试看,以前也碰到过System打印不了的情况

public static void main(String[] args) {
int ju[][] = new int[10][10];
ju[0][0]=2;ju[1][0]=6;ju[2][0]=1;ju[3][0]=7;ju[4][0]=2;ju[5][0]=7;ju[6][0]=8;ju[7][0]=8;ju[8][0]=8;ju[9][0]=8;
if((isbig(ju[0][0])==false)&&(isbig(ju[1][0])==true)&&(isbig(ju[2][0])==false)&&(isbig(ju[3][0])==true)&&(isbig(ju[4][0])==false)&&
(isbig(ju[5][0])==true)&&(isbig(ju[6][0])==true)&&(isbig(ju[7][0])==true)&&(isbig(ju[8][0])==true)&&(isbig(ju[9][0])==true)){
System.out.println("r");
}
}

private static boolean isbig(int i){
    boolean flag = false;
    if(i > 4){
        flag = true;
    }
    return flag;
}

可以执行出结果:r

你的f.isbig()已经返回的是bool值了为什么判断的时候用==true?==false?应该改成

     f.isbig(ju[0][0]))&&(f.isbig(ju[1][0]))&&(f.isbig(ju[2][0]))&&(f.isbig(ju[3][0]))&&(f.isbig(ju[4][0]))&&
          ( f.isbig(ju[5][0]))&&(f.isbig(ju[6][0]))&&(f.isbig(ju[7][0]))&&(f.isbig(ju[8][0]))&&(f.isbig(ju[9][0]))){
     System.out.println("r");
 }

有的可以非零为真,所有的真都是一样的?你用==肯定不合适啊,再说人家本来就是布尔值直接就是判断条件不是判断成员

false的值在编译器中的定义是0,但true的值却不都是1,有时候可能是-1,很显然你的这种写法很不好。

我测试了一下

    public bool pd(int x)
        {
            if (x > 4)
                return true;
            else
                return false;
        }
    if (pd(4) == true)
                textBox1.Text="true==true";

最后true==true并不成立

好吧我逗逼了粗心了把4换成5,测试true==true是可以的,false==false也是可以的,不过感觉怪怪的。你完全可以if(true)或者if(!false)搞得这么复杂