JZ49 --- 把字符串转换成整数

tech2022-08-08  145

题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0

题解: (1)判断是否合法。 (2)判断第一个字符是 “+” 或是 “-” 。 (3)循环乘加。

public static int StrToInt(String str) { int res = 0; int flag = 0; for(int i = 0;i < str.length ();i++){ if(!isLegal(str.charAt (i))){ return 0; } if(str.charAt (i) == '+'){ flag = 1; }else if(str.charAt (i) == '-'){ flag = 2; }else { int tmp = str.charAt (i) - '0'; res = res * 10 + tmp; } } if(flag == 1){ return res; }else if(flag == 2){ return -res; }else { return res; } } public static boolean isLegal(char c){ if(c == '+'){ return true; } if(c == '-'){ return true; } if(c == '0' || c == '1'|| c == '2' || c == '3' || c == '4'|| c == '5'|| c == '6' || c == '7'|| c == '8'|| c == '9'){ return true; } return false; }
最新回复(0)