Setting a range for an Integer in Java [duplicate]

2020-07-22 10:08发布

I have the attribute:

private int Number;

I want to limit this number so that it can only be between the values 1 - 3.

Would I do this within a method when I set the value or is there a way of predefining that I only want values 1 - 3 to be valid values for this integer?

Many thanks in advance.

Edit:

I want to take an input of a number between 1 -3.

I've tried using a while, do and for loop each of which I can't get to work without getting stuck in an infinite loop.

Here's some example code:

    private int Number;

    public void setNumber(int aNumber) {
        int count = 1;
        while (count !=0) {
            if ((aNumber < 1) || (aNumber > 3)) {
                System.out.println("Value is out of range 1-3");
                System.out.println("Please try again");
                break;
            } 
            else {
                this.Number = aNumber;
                count = 0;
            }
    }
}

标签: java integer
7条回答
做个烂人
2楼-- · 2020-07-22 11:10

Enforcing the constraint inside the setter for this attribute would certainly work. Another thing you could do is use an enumeration instead of an integer, depending on the constraints of your homework assignment.

查看更多
登录 后发表回答