这段代码给了我无限循环,虽然sum变为等于7并变为等于(point)
while ( sum!=point || sum!=7)
{
rollDices();
System.out.println("rolling dices .. sum="+sum);
} //end while
Run Code Online (Sandbox Code Playgroud)
但如果我这样做:
while(sum!=point)
Run Code Online (Sandbox Code Playgroud)
或这个
while(sum!=7)
Run Code Online (Sandbox Code Playgroud)
它没有任何问题,工作正常
如果你陷入困境并且无法弄清楚为什么要做||或&&不做你想做的事,那就制定一个"真值表".
对于||,OR运营商:
true || false //returns true
true || true //returns true
false || true //returns true
false || false //returns false
Run Code Online (Sandbox Code Playgroud)
对于&&,AND运营商:
true && true //returns true
true && false //returns false
false && true //returns false
false && false //returns false
Run Code Online (Sandbox Code Playgroud)
你的逻辑略有缺陷.你的陈述是说虽然总和不等于点或总和不等于7.它总是不等于其中一个,除非它们是相同的.
我想你想用&&:
while(sum!=point && sum!=7){
rollDices();
System.out.println("rolling dices .. sum="+sum);
}
Run Code Online (Sandbox Code Playgroud)
随着&&一次总和等于7或指向将退出循环.
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |