我是Java新手,需要一些幫助。Java限制長度整數
有人能告訴我如何在此代碼中將限制長度設置爲整數= 6。
例如
id = 124973
public void setId(int id) {
this.id = id;
}
我是Java新手,需要一些幫助。Java限制長度整數
有人能告訴我如何在此代碼中將限制長度設置爲整數= 6。
例如
id = 124973
public void setId(int id) {
this.id = id;
}
一種方式來做到這一點是這樣的:
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);
分配之前驗證所述InP它
public void setId(int id){
if(id>0 && id<=999999){
this.id= id;
}else{
this.id= 0;
}
}
「將String.valueOf(ID)。長度()」 - 檢查一個int變量的長度,這會收到在setId方法參數中。
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
}
在你setId
方法增加一個檢查:
if (id >= 1000000 || id < 0) {
throw new IllegalArgumentException("id must be max 6 digits and cannot be negative");
}
大部分的答案都假設當你設置一個「錯誤」的編號時,你會想要一些默認的......我認爲這是非常糟糕的做法,這將導致驚喜的下降。 – john16384
在如int java的數字不具有的長度。儘管Integer是一個類,但沒有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
}
}
你可以讓'setId'有'this.id = id%1000000;'。 –
當「長度」不是6或更少時,你想要做什麼? – harold