public class Solution {
int number=0;
boolean flag=false;//负数符号标记
public int StrToInt(String str) {
if(str.trim().length()==0){
return 0;
}
if(str.equals("-2147483648")){
return -2147483648;
}
char[] chars=str.toCharArray();
int[] numbers=new int[chars.length];
//字符0-9的ASCII码值是连续的(48-57)
//字符a-z的ASCII码值是连续的(97-122)
//字符A-Z的ASCII码值是连续的(65-90)
for(int i=0;i<chars.length;i++){
if((chars[i]=='+' || chars[i]=='-') && i==0 ){
if(chars[i]=='-'){
flag=true;
}
continue;
}
if(chars[i] >=48 && chars[i] <=57){
//存放数字
numbers[i]=chars[i] -48;
}else{
//非法数字
return 0;
}
}
for(int i=0;i<numbers.length;i++){
number+=numbers[i] * Math.pow(10, numbers.length-1-i);
}
if(flag){
number=-number;
}
return number;
}
}
int number=0;
boolean flag=false;//负数符号标记
public int StrToInt(String str) {
if(str.trim().length()==0){
return 0;
}
if(str.equals("-2147483648")){
return -2147483648;
}
char[] chars=str.toCharArray();
int[] numbers=new int[chars.length];
//字符0-9的ASCII码值是连续的(48-57)
//字符a-z的ASCII码值是连续的(97-122)
//字符A-Z的ASCII码值是连续的(65-90)
for(int i=0;i<chars.length;i++){
if((chars[i]=='+' || chars[i]=='-') && i==0 ){
if(chars[i]=='-'){
flag=true;
}
continue;
}
if(chars[i] >=48 && chars[i] <=57){
//存放数字
numbers[i]=chars[i] -48;
}else{
//非法数字
return 0;
}
}
for(int i=0;i<numbers.length;i++){
number+=numbers[i] * Math.pow(10, numbers.length-1-i);
}
if(flag){
number=-number;
}
return number;
}
}