if ((x != A) || (x != a )|| ( x != B) || (x != b) || ( x != C) || (x != c) || (x != D) || (x != d) || ( x != F) || (x != f))
{
System.out.println("Points: -1");
return true;
}
else
{
System.out.println("hi");
return false;
}
出于某种原因,除了真实之外我无法回复其他任何事情。
答案 0 :(得分:4)
采取前两个条件:(x != A) || (x != a )
。
您的意思是,如果true
不等于x
或A
,请返回a
。
假设x == A
,第一个条件将返回false,第二个条件将返回true。因此,你的整个if条件将返回true。
同样适用于x == a
。这里第一个条件产生true
,if条件也是如此。
您可能意味着使用AND
或&&
代替OR
(||
)来连接所有这些条件。
答案 1 :(得分:2)
if ((x != 'A') || (x != 'a' ) ....
^ missing quotes
但即便如此,x可以是“A”或“a”,也可以都不是。通过 OR 评估,您将始终以 TRUE 结束,因为x始终 NOT 是您正在测试的其他值之一。
执行(x != 'A') && (x != 'a' ) ...
答案 2 :(得分:0)
是的,它将永远是真的
让我们只调整表达式((x != A) || (x != a ) ...
如果x = A,则第一个语句为false,但是其他一个为真,并且因为你已经分离,所以你总是会得到真的。
得到假,你需要x = A和x = a,这可能有点不可能
答案 3 :(得分:0)
查看此小提琴http://jsfiddle.net/CtCqe/2/
使用正则表达式可能会更好,不确定用户的输入是否只是一个字符。
HTML
<div id="result">Result</div>
<input type='text'/>
<div id="pressed"></div>
Jquery的
$('input').on('change input', function(){
var x = $(this).val();
if((x == 'A') || (x == 'a' )|| ( x == 'B') || (x == 'b') || ( x == 'C') || (x == 'c') || (x == 'D') || (x == 'd') || ( x == 'F') || (x == 'f')){
$('#result').html('False');
$(this).val('');
}else{
$('#result').html('True');
$(this).val('');
}
$('#pressed').html(x);
});