Rus*_*ell 0 java for-loop if-statement
你如何if...else
在for
声明中发表声明?
这是代码:
// This is within a actionListener. When ever I press a button, this happens.
for (int i = 0; i < booleanVariable.length; i++) {
//length is 8
System.out.println("booleanVariable is" + booelanVariable[i]);
if (booleanVariable[i] = true) {
booleanVariable[i] = false;
System.out.println("booleanVariable was true")
break;
} else {
System.out.println(" booleanVariable is false");
}
}
Run Code Online (Sandbox Code Playgroud)
这是3台印刷机的输出:
booleanVariable is true
booleanVariable was true
//correct
booleanVariable is false
booleanVariable was true
//incorrect.
booleanVariable is false
booleanVariable was true
//incorrect
Run Code Online (Sandbox Code Playgroud)
这意味着,由于某种原因,即使booleanVariable为false,输出也是如此,这是假的.
我发现了什么:
break;
陈述,程序将全部绕过8次并输出完全相同的没有a break
,只有不正确的值再输出5次.我尝试过的:
通常情况下,我只是使用一个开关,但我使用的是布尔值,布尔值不工作就是开关.
如果有人知道答案,我将永远感激不尽.谢谢.
你的问题可能在这一行:
if (booleanVariable[i] = true) {
==
除非您打算将值设置为true,否则应使用布尔比较.无论如何,这一行总是评估为真.
还要注意,你真的不需要比较true
,你可以简单地说:
if (booleanVariable[i]) {
因为如果值为true,则输入代码块,如果为false,则进入else情况.
改变你的
if (booleanVariable[i] = true) {
Run Code Online (Sandbox Code Playgroud)
至
if (booleanVariable[i] == true) {
Run Code Online (Sandbox Code Playgroud)
您需要使用==
运算符进行比较.一个=
设置true
返回始终为true 的值.您也可以将其更改为
if (booleanVariable[i]) {
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
368 次 |
最近记录: |