1、思路概述:
显而易见,这个题已经在Java的API中实现了,但是我现在要做的是手动实现一个字符串转整形。这看着其实并没有那么简单。因为还牵扯到正负数的问题等等
首先我们先用toCharArray()方法将字符串换成char[]类型,便于拆分遍历。然后判断第一位是否为符号位,定义sing保存符号,向下遍历,并且用sum*10的方法进行进位位移。到最后再将符号为乘上去。
2、代码实现:
public static void main(String[] args) {
int result = StoChar("-1238");
System.out.println(result);
}
public static int StoChar(String string){
if (string==null){
return 0;
}
int sing=1;
int sum=0;
char[] arr=string.toCharArray();
if(arr[0]=='-'){
sing=-1;
arr[0]='0';
}else if (arr[0]=='+'){
arr[0]='0';
}
for(int i=0;i<arr.length;i++){
if(arr[i]<'0'||arr[i]>'9'){
return 0;
}
sum=sum*10+arr[i]-'0';
}
return sum*sing;
}