我創建了一個對象MyString。我無法弄清楚如何重新創建valueOf(double d)。我爲整數重新創建了valueOf。爲了使它更容易,我將小數位數限制爲8.如何重新創建valueOf(double d)?在Java的String類中重新創建valueOf(double d)
public class MyString {
private char[] a;
public MyString(String s) {
this.a = s.toCharArray();
}
public MyString(char[] a) {
this.a = a;
}
public String toString() {
return new String(a);
}
public int length() {
return a.length;
}
public char charAt(int i) {
return a[i];
}
public static MyString valueOf(int i) {
int digits = (int)(Math.log10(i)+1);
char[] b = new char[digits];
for (int j = 0; j < digits; j++) {
b[j] = (char) (48 + i/10);
i = i % 10;
if (i < 10) {
b[j + 1] = (char)(48 + i);
break;
}
}
MyString ms = new MyString(b);
return ms;
}
public static MyString valueOf(double d) {
char[] d1 = new char[digits];
//Take each digit of the number and enter it into the array
MyString ms = new MyString(d1);
return ms;
}
public static void main(String[] args) {
}
}
你爲什麼不看「Double」類的源代碼,看看它們是如何實現的? –
交給Double.toString(雙)?或者搜索一般的浮點到字符串轉換。 – keshlam