虽然无限(限制)循环无法正常工作

While infinite (Restriction) loop is not working properly

作为我的第一个 java 项目之一,我想建立一个抵押贷款计算器。 我试图限制用户可以使用此代码选择的持续时间

Scanner numOfPayments = new Scanner(System.in);
while (true) {
    System.out.print("Enter number of payments (the number of Years you will be paying the loan):");
    short numOfPayments2 = numOfPayments.nextShort();
    if (numOfPayments2 >= 1 && numOfPayments3 <= 30) {
        numOfPayments3 = (short) (numOfPayments2 * 12);
        break;
    }
    System.out.println("Enter a valid number of years(Between 1 and 30)");
}

它适用于限制其他值,但不适用于此值。 提前致谢

感谢@azro 的回答 我应该在 If 语句

中将 numOfPayments3 更改为 numOfPayments2