0
    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;
    }

何らかの理由で、これを真以外のものに戻すことはできません。

4

4 に答える 4

2
if ((x != 'A') || (x != 'a' ) ....
          ^ missing quotes

ただし、その場合でも、x は 'A' または 'a' のいずれかである場合もあれば、どちらでもない場合もあります。OR評価では、xはテストしている他の値のいずれでもないため、常にTRUEになります。

行う(x != 'A') && (x != 'a' ) ...

于 2012-11-02T12:25:05.500 に答える
0

このフィドルをチェックしてくださいhttp://jsfiddle.net/CtCqe/2/

ユーザーの入力が1文字だけかどうかわからないので、正規表現を使用する方が良いかもしれません。

HTML

<div id="result">Result</div>
<input type='text'/>
<div id="pressed"></div>

Jクエリ

$('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);

});
于 2012-11-02T12:48:43.957 に答える
0

はい、それは常に true になります。式の一部を考えてみましょう((x != A) || (x != a ) ...

x=A の場合、最初のステートメントは false ですが、他のステートメントは true であり、選言があるため、常に true になります。

false を取得するには、x=A と x=a が必要ですが、これは少し不可能かもしれません。

于 2012-11-02T12:45:43.617 に答える