我有一个复合语句,如下所示:
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循环中使用它,因此它将一次生成许多数字,但是我的问题是它从不选择第二个范围内的数字,换句话说,我从97到122都不会得到任何数字。它在第一个范围内正常工作。如何使它从两组中选择随机数?
最佳答案
!
适用于||
的第一项,不适用于整个表达式。添加一对括号:
while( !((charGenerator >= 65 && charGenerator <= 90) ||
(charGenerator >= 97 && charGenerator <= 122)) )