1

次のような複合ステートメントがあります。

for (int count = 0; count <= passLength; count++)
{            
    while( !(charGenerator >= 65 && charGenerator <= 90) || (charGenerator >= 97 && charGenerator <= 122))
    {
        charGenerator = randNum.nextInt(123);
    }
    System.out.print((char)charGenerator);
    charGenerator = 0;
}

forループ内にあるので、一度に多くの数値を生成しますが、私の問題は、2番目の範囲内の数値を選択しないことです。つまり、97から122までの数値を取得することはありません.最初の範囲でうまく動作します. 両方のグループから乱数を選択するようにするにはどうすればよいですか?

4

1 に答える 1

5

は、式全体ではなく、 の最初の!項に適用されます。||かっこのペアを追加します。

while( !((charGenerator >= 65 && charGenerator <= 90) ||
         (charGenerator >= 97 && charGenerator <= 122)) )
于 2013-04-21T12:52:03.240 に答える