在Java中设置Integer的范围 [英] Setting a range for an Integer in Java
问题描述
我有以下属性:
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屋!