题目描述:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
ac代码:
1 public class Solution { 2 public int StrToInt(String str) { 3 if(str.length()==0) 4 return 0; 5 if(str.charAt(0)=='+') 6 str=str.substring(1,str.length()); 7 boolean flag=false; 8 if(str.length()!=0&&str.charAt(0)=='-'){ 9 str=str.substring(1,str.length()); 10 flag=true; 11 } 12 for(int i=0;i<str.length();i++){ 13 if(str.charAt(i)<'0'||str.charAt(i)>'9') 14 return 0; 15 } 16 int sum=0; 17 int x; 18 for(int i=0;i<str.length();i++){ 19 x=str.charAt(i)-'0'; 20 sum=sum*10+x; 21 } 22 if(flag){ 23 return sum*(-1); 24 }else{ 25 return sum; 26 } 27 } 28 }