0

在一次 Java 面试中,我被要求编写一个程序,该程序可以将字符串(例如“123”)转换为数字 123,而无需使用任何 java 的转换函数/实用程序类。

如果这可能,我仍然感到困惑。有任何想法吗 ?谢谢

4

2 回答 2

1

将字符串分解为单个字符,将每个字符映射到其数值,然后通过将每个字符乘以其位置值来组合。

于 2012-04-16T19:52:53.250 回答
0

我应该让我的评论成为答案,这样我才能得到答案:)

“什么算作实用程序类?你能有一个字符串到数字的映射,遍历字符串,通过字符串查找数字,然后构造数字吗?”

在伪代码中:

Map<String, Integer> = {
"0":0,
"1":1,
"2":2,
... etc }

int number = 0;

for(i=string.length-1; i>=0; i--){
String substr = string.substring(i, i+1);
int digit = map.get(substr);
number += 10^(string.length-i)*digit;
}

return number
于 2012-04-16T19:57:15.417 回答