我有一串由数字序列组成的字符串(例如“1234”).如何将String作为int返回,而不使用
Java的库函数,如Integer.parseInt?
public class StringToInteger { public static void main(String [] args){ int i = myStringToInteger("123"); System.out.println("String decoded to number " + i); } public int myStringToInteger(String str){ /* ... */ } }
解决方法
这是什么问题?
int i = Integer.parseInt(str);
编辑:
如果您真的需要手动进行转换,请尝试:
public static int myStringToInteger(String str) { int answer = 0,factor = 1; for (int i = str.length()-1; i >= 0; i--) { answer += (str.charAt(i) - '0') * factor; factor *= 10; } return answer; }
如果数字是负数,那么上面的代码可以正确的整数工作,你必须首先做一点检查,但是我会把它作为读者的练习.