首页 > 解决方案 > 获取 int 的简单方法,检查它是否在最小值/最大值内,并返回该值.. 无法脱离方法

问题描述

我对java很陌生,我试图在一个类中创建一个简单的方法,只要它落在特定的边界内就返回一个用户整数。它似乎正确地检查了输入,但在那之后,它并没有退出该方法。这是方法:

public int readInt(String prompt, int min, int max) {
    int userInt;
    boolean works = true;
    System.out.println(prompt);
    userInt = inputReader.nextInt();
    inputReader.nextLine();
    
    while(works = true) {
        if (userInt >= min && userInt <= max) {
            works = false;
        } else {
        System.out.println("Please enter value between " + min + " and " + max);
        userInt = inputReader.nextInt();
        inputReader.nextLine();
        }
    }
    return userInt;
}

这是主要的方法。运行该方法,然后尝试将 int 打印出来。永远不会到达南线。

public static void main(String[] args) {
    
    UserIO userIO = new UserIOImpl();
    
    int userInt;
    
    userInt = userIO.readInt("Please enter a number between 1 and 10", 1, 10);
    System.out.println(userInt);
}

非常感谢您在正确方向上的任何帮助。

编辑:我目前正在使用 NetBeans 12.0

标签: javainputmethodsintegeroutput

解决方案


而不是“while(works = true)”,而是“while(works)”


推荐阅读