我有一个方法,它会继续循环,直到用户在一个设定的范围内输入一个数字。基本上,它读取arraylist上的大小,并验证用户输入是否大于-1和小于arraylist大小。然而,我似乎不能得到布尔逻辑的权利,它仍然接受坏数字或只有一方的范围内工作。这是密码
public void Verify()
{
do {
System.out.printf("Enter the number\n");
while (!input.hasNextInt())
{
System.out.printf("Enter the number\n");
input.next();
}
choice = input.nextInt();
} while (choice < 0 && choice > mov.getArrayListSize());//<--- this part
}
1条答案
按热度按时间e37o9pze1#
所以问题来了
这意味着:保持循环,直到choice的值小于零,同时大于数组的大小。让我们看一些数字行:
没有一种解决方案可以同时小于零和大于数组长度。你几乎可以肯定的意思是使用逻辑或,而不是和:
数字行上的解决方案是
循环将继续,直到值落在0-len范围内,这似乎是您需要的。