今天参加面试,面试官让手写一个parseInt方法,要求是传入一个字符串数字,返回一个整型数字,因从来没做过,当时给了-'0'提示也没做出来,被扫地出门了,现在回家做好了,当做是个笔记,记录自己的成长路程吧:)
public class Demo {
public static void main(String[] args) {
int num = parseInt("123456");
System.out.println(num);
}
public static int parseInt(String str) {
//声明一个字符数组
char[] chars = new char[str.length()];
//声明一个整型数组(用来装字符转换成整型数字结果)
int[] ints = new int[str.length()];
for (int i = 0; i < str.length(); i++) {
//分解字符串,装入字符数组
chars[i] = str.charAt(i);
//把字符数组里的字符通过-'0'转换成整型数字,装入整型数组
ints[i] = chars[i] - '0';
}
//把整型数组转换成整型
int num = 0;
for (int i = 0; i < ints.length; i++) {
num = num * 10 + ints[i];
}
return num;
}
}
返回结果:123456