-8
是否可以將字符串轉換爲long而不使用java的內置函數?將字符串轉換爲長
例如:
String s = "35";
long ans = Long.parseLong(s);
你怎麼能執行相同的任務,而無需使用Java的Long.parseLong function
是否可以將字符串轉換爲long而不使用java的內置函數?將字符串轉換爲長
例如:
String s = "35";
long ans = Long.parseLong(s);
你怎麼能執行相同的任務,而無需使用Java的Long.parseLong function
是的,這是可能的。只要用傳統的方式來做就行了。使用String.charAt()從單位開始獲取每個字符,然後乘以10的因子並不斷累加,直到達到字符串的起始位置。當然,你必須照顧特殊情況。
是:
public static void main(String[] args) {
String s = "35";
long ans = parse(s);
}
public final static long parse(CharSequence d) {
int l = d.length();
boolean n= d.charAt(0) == '-';
long v = 0;
int p = n?1:0;
do {
v *= 10;
int i = d.charAt(p) - 48;
if (i < 0 | i > 9)
throw new NumberFormatException(d+"");
v += i;
p++;
} while (l > p);
return n?-v:v;
}
你爲什麼要?這是功課嗎?如果是這樣,請添加作業標籤。 – 2012-02-27 19:44:10
通過查看parseLong();-)的源代碼 – 2012-02-27 19:45:02
是;你可以重寫'parseLong()'。 – SLaks 2012-02-27 19:45:23