Java 限制长度整数
Java limit length integer
我是 Java 的新人,我需要一些帮助。
谁能告诉我如何在此代码中将限制长度设置为整数 = 6。
例如
id = 124973
public void setId(int id) {
this.id = id;
}
在分配之前验证 inp
public void setId(int id){
if(id>0 && id<=999999){
this.id= id;
}else{
this.id= 0;
}
}
"String.valueOf(id).length()" - 检查您在 setId 方法参数中收到的 int 变量的长度。
public void setId(int id){
if(6 >= String.valueOf(id).length())
this.id= id;
else
//do something if the received id's length is greater than max
}
一种方法是这样的:
public boolean checkLength(int id, int length) {
return 0 == (int)(id / Math.pow(10, length));
}
编辑:
根据下面的@EliSadoff 评论,您也可以这样做:
public boolean checkLength(int id, int length) {
return Math.log10(id) < length;
}
然后您可以像这样简单地调用此函数:
checkLength(123456, 6);
在您的 setId
方法中添加检查:
if (id >= 1000000 || id < 0) {
throw new IllegalArgumentException("id must be max 6 digits and cannot be negative");
}
在 java 中,像 int 这样的数字没有长度。尽管 Integer 是 class,但没有 length() 函数——请参阅 Java 文档。因此,要找到长度,您必须使用 String.valueOf(Integer_value)
将 Integer 转换为 String。所以,你可以这样做:
Public void limit(Integer a) {
if(String.valueOf(a)<=6) {
//do your logic
}
else {
//printout Integer length limit exceeded
}
}
我是 Java 的新人,我需要一些帮助。
谁能告诉我如何在此代码中将限制长度设置为整数 = 6。
例如
id = 124973
public void setId(int id) {
this.id = id;
}
在分配之前验证 inp
public void setId(int id){
if(id>0 && id<=999999){
this.id= id;
}else{
this.id= 0;
}
}
"String.valueOf(id).length()" - 检查您在 setId 方法参数中收到的 int 变量的长度。
public void setId(int id){
if(6 >= String.valueOf(id).length())
this.id= id;
else
//do something if the received id's length is greater than max
}
一种方法是这样的:
public boolean checkLength(int id, int length) {
return 0 == (int)(id / Math.pow(10, length));
}
编辑:
根据下面的@EliSadoff 评论,您也可以这样做:
public boolean checkLength(int id, int length) {
return Math.log10(id) < length;
}
然后您可以像这样简单地调用此函数:
checkLength(123456, 6);
在您的 setId
方法中添加检查:
if (id >= 1000000 || id < 0) {
throw new IllegalArgumentException("id must be max 6 digits and cannot be negative");
}
在 java 中,像 int 这样的数字没有长度。尽管 Integer 是 class,但没有 length() 函数——请参阅 Java 文档。因此,要找到长度,您必须使用 String.valueOf(Integer_value)
将 Integer 转换为 String。所以,你可以这样做:
Public void limit(Integer a) {
if(String.valueOf(a)<=6) {
//do your logic
}
else {
//printout Integer length limit exceeded
}
}