在我的测验游戏中,我必须检查一些条件,其中4个。在游戏中我向整数变量添加+1,4个变量。在级别的末尾,我将这些值加到另一个整数activeButtonsTotal。我将4个布尔值设置为true或false。所以,我需要检查两个条件四次:如果它是我的布尔值是假的并且如果我的activeButtonsTotal等于16并且如果它将我的一个按钮设置为Enabled,那么对于下一个boolean和activeButtonsTotal也是如此,并且这样4次。我需要经历所有这4个。我尝试使用if语句,否则如果没有运气。
boolean columnACorrecct, columnBCorrect, columnCCorrect, columnDCorrect;
activeButtonsTotal = activeButtonsA+activeButtonsB+activeButtonsC+activeButtonsD;
if((columnACorrect=false) && (activeButtonsTotal==16)){
columnA.setEnabled(true);
}
if((columnBCorrect=false) && (activeButtonsTotal==16)){
columnB.setEnabled(true);
}
if((columnCCorrect=false) && (activeButtonsTotal==16)){
columnC.setEnabled(true);
}
if((columnDCorrect=false) && (activeButtonsTotal==16)){
columnD.setEnabled(true);
}
答案 0 :(得分:4)
我不确定我是否按照你的所有逻辑,但你的" if"所有陈述都缺少等号。你说你必须比较你的布尔值是否为假,以及数字,但是你要分配" False"在条件内。你需要" =="。
我愿意:
if(activeButtonsTotal==16)
{
columnA.setEnabled(!columnACorrect);
columnB.setEnabled(!columnBCorrect);
columnC.setEnabled(!columnCCorrect);
columnD.setEnabled(!columnDCorrect);
}
答案 1 :(得分:3)
我会做那样的事情:
columnA.setEnabled(!columnACorrect && activeButtonsTotal==16);
columnB.setEnabled(!columnBCorrect && activeButtonsTotal==16);
columnC.setEnabled(!columnCCorrect && activeButtonsTotal==16);
columnD.setEnabled(!columnDCorrect && activeButtonsTotal==16);
答案 2 :(得分:2)
每次尝试检查条件时,都会将布尔变量赋值为false。 这将导致条件为假,并且永远不会在块中运行代码。
要检查是否相等,请使用==;
columnACorrect==false
columnBCorrect==false
columnCCorrect==false
columnDCorrect==false
但我建议使用:
!columnACorrect
!columnBCorrect
!columnCCorrect
!columnDCorrect
它做同样的事情。第二种选择更为可取。