对不起,这是一个非常简单的问题,但我无法想象。我试图在内部使用OR条件的嵌套IF语句。 这是代码:
if (positionE != -1){
if (position == -1) || if (positionE < position)
position = positionE;
}
显然我错误地使用了OR条件,请有人指出正确使用。
这是我试图编码的伪代码:
If positionE is not -1
If position is -1 or positionE is less than position
position is positionE
答案 0 :(得分:2)
试试这个:
if(positionE != -1 && (position == -1 || positionE < position)){
position = positionE;
}
答案 1 :(得分:0)
这样做
if (position == -1 || positionE < position)
position = positionE;
答案 2 :(得分:0)
试试这个:
if (positionE != -1){
if (position == -1 || positionE < position)
position = positionE;
}
答案 3 :(得分:0)
尽量保持你的ifs清洁,这不仅仅是一种好的做法,对于未来的重构或修改来说非常重要。
- 始终对if语句使用{}
- 如果没有必要,请不要嵌套if
- 使用()分隔&amp;&amp;和||提高可读性
- 如果结构变得复杂,首先在纸上写下来,或考虑分离陈述,也许你可以合并一些东西
- 此外,我建议对形式逻辑进行一些研究。
理想情况下,if应该看起来像这样:
if( (A && B) || (C && D) ){
... do something
}
或
if( (A || B) && (C || D) ){
... do something
}
如果你让它变得干净又漂亮,如果你必须改变一些东西,它会在以后付出代价。 如果我理解你,你的情况可以描述为
if( !A && (B || C)){
... do something
}
答案 4 :(得分:0)
if (positionE != -1){
if (position == -1) || if (positionE < position)
position = positionE;
}
根据这些我们可以写下如下的条件
if(positionE != -1 && positionE < position) {
position = positionE;
}
这里我们取消了positionE == -1
条件,因为当且仅当positionE != -1
答案 5 :(得分:-2)
正确的语法如下:
if (positionE != -1){
if ((position == -1) || (positionE < position))
position = positionE;
}
必须在几个条件内写入。
答案 6 :(得分:-3)
使用此:
if (positionE!=-1) {
if ((position==-1) || (positionE<position)) {
position = positionE;
}
}