我正在创建一个电话目录,其中包含多个nameEntry
对象,每个对象都包含一个姓氏和一个电话分机。
public class nameEntry {
public String surname;
public String number;
public nameEntry(String surname, int number) {
this.surname = surname.toUpperCase();
this.number = String.format("%04d", number);
// converts int literal to 0 filled string of numbers
}
public String toString() {
return surname + "\t" + number; //eg HOOD 0123
}
}
在阅读了关于存储字母数字的良好 Java 实践后,我已经对nameEntry
对象进行了编程,以将 anint
作为参数,然后将其转换为填零String
,因为考虑到它们的性质,将其存储为int
Objects 是不合适的。但是,这种方法意味着我无法nameEntry
通过这种方法创建填充数字为零的新对象,因为它告诉我整数无效;
nameEntry e = new nameEntry(surname, 0123); //this would be flagged as wrong
但是,如果我使用一种Scanner nextInt(System.in)
方法,是否对我输入一个零填充数字然后使用该对象创建一个新nameEntry
对象感到非常满意。
为什么这种情况有效?
无论如何,这一切似乎只是为了获得一个零填充的输入字符串 - 允许用户输入最多 4 个字符的单个数字的更好方法是零填充,或者将在之后自动填充零入口?