我是Java的新手,我需要一些帮助。
有人可以告诉我如何在此代码中将限制长度设置为整数= 6.
例如
id = 124973
public void setId(int id) {
this.id = id;
}
答案 0 :(得分:6)
一种方法是这样的:
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);
答案 1 :(得分:3)
“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
}
答案 2 :(得分:3)
在setId
方法中添加支票:
if (id >= 1000000 || id < 0) {
throw new IllegalArgumentException("id must be max 6 digits and cannot be negative");
}
答案 3 :(得分:2)
在分配之前验证inp
public void setId(int id){
if(id>0 && id<=999999){
this.id= id;
}else{
this.id= 0;
}
}
答案 4 :(得分:0)
在像int这样的java数字中没有长度。尽管Integer是一个类,但没有length()函数 - 请参阅Java文档。因此,要查找长度,必须使用public void snoozeClicked(View view){
MainActivity.ringtone.stop();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// Actions to do after 10 seconds
Intent myIntent = new Intent(AlarmActivity.this, AlarmReceiver.class);
sendBroadcast(myIntent);
finish();
}
}, 10000);
将Integer转换为String。所以,你可以这样做:
String.valueOf(Integer_value)