剑指offer_字符串转整数
来源:互联网 发布:linux ifconfig修改ip 编辑:程序博客网 时间:2024/06/03 06:40
/*将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0示例1输入+2147483647 1a33输出2147483647 0正常:字符串如何转换为数字有正负号如何处理异常:字符串为空有字母或者符号超出整型范围int-2^31=-21474836482^31=2147483647先求正数的结果2147483648,可2147483648超出整型范围补充:区分正常的0和异常的0如果字符串只有一个正号或者负号*/import java.lang.Math;class StrToInt2{public static boolean isValid=true;public static int strToInt(String str) { if (str==null||str.length()<=0) {isValid=false;return 0; }int start=0;//除去正负号之外字符串开始的位置int flag=1;//控制符号位if (str.length()==1&&(str.charAt(0)=='+'||str.charAt(0)=='-')){isValid=false;return 0;}else if (str.length()>1&&str.charAt(0)=='+'){start=1;}else if (str.length()>1&&str.charAt(0)=='-'){start=1;flag=-1;}int num=0;for (int i=start; i<str.length(); i++){//判断是否存在字母或者符号if (str.charAt(i)<'0'||str.charAt(i)>'9'){isValid=false;return 0;}num+=flag*(str.charAt(i)-'0')*(Math.pow(10,str.length()-1-i));}return num; }public static void main(String[] args) {System.out.println(strToInt("-"));}}
阅读全文
0 0
- 剑指offer_字符串转整数
- 剑指offer_字符串转整数
- 剑指offer_把字符串转换成整数
- 剑指offer_左旋转字符串
- 剑指offer_数值的整数次方
- 剑指offer_字符串---字符串的排列
- 剑指offer_字符串---左旋转字符串
- 剑指offer_表示数字的字符串
- 剑指offer_整数中1出现的次数
- 剑指Offer_面试题11_数值的整数次方
- 剑指offer_发散思维---数值的整数次方
- 剑指Offer_面试题28_字符串的排列
- 【剑指Offer_在线编程】 【牛客网:字符串的排序】
- 【剑指offer】字符串转整数
- 【剑指offer】字符串转整数
- 剑指offer_面试题11_数值的整数次方(*)
- 剑指offer_输入n个整数,找出其中最小的K个数
- C++剑指offer_面试题11_数值的整数次方(*)
- opencv显示对比
- 浅谈JavaScript、ES5、ES6
- office图标不能正常显示
- 可折叠列表ExpandableListView
- mamp pro mysql数据库位置
- 剑指offer_字符串转整数
- Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
- tydo.css 使用探究
- 关于json和jsonp
- MyBatis,xml中标签不自动提示处理
- 阿里云ecs windows 2008 安装ftp
- 同一进程的线程共享的资源和独有的资源
- leetcode 287. Find the Duplicate Number
- 解题报告:Codeforces Round #432 (Div. 2) D. Arpa and a list of numbers 暴力