在Java中设置Integer的范围 [英] Setting a range for an Integer in Java

查看:381
本文介绍了在Java中设置Integer的范围的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下属性:

private int Number;

我想限制这个数字,使它只能在值1 - 3之间。

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

我在设置值时是否在方法中执行此操作,或者是否有预定义的方法我只希望值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?

非常感谢提前。

编辑:

我想输入一个介于1-3之间的数字。

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.

以下是一些示例代码:

    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;
            }
    }
}


推荐答案

与某些语言(例如Ada)不同,Java没有办法预先声明数字的可接受范围。但是,如果将 anumber 封装到类中,则可以使用setter方法强制执行此类限制:

Unlike some languages (e.g. Ada), Java does not have a way to "predeclare" the acceptable range of a number. However, if you encapsulate the anumber into a class, you can enforce such a restriction using a setter method:

class RestrictedRangeExample {
    private int anumber;

    public void setAnumber(int newanumber) {
        if (newanumber >= 1 && newanumber <= 3) {
            anumber = newanumber;
        } else {
            throw new IllegalArgumentException("anumber out of range");
        }
    }
}

这篇关于在Java中设置Integer的范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆