把字符串转换成整数(2014年阿里巴巴实习生招聘面试题)
2014-08-17 14:03
357 查看
题目:写一个strToInt函数,实现字符串str转换成整数num。
如何将字符串转换成整数,本文使用Java列出了三种方法:
1、利用java.lang.Integer类中的静态函数parseInt(String str)
int num = Integer.parseInt(str);
2、同样是利用java.lang.Integer中的函数,先将字符串转换成Integer对象,再得到整数
int num = Integer.valueOf(str).intValue();
3、第三种方法不采用jdk库中已经封装好的字符串转整数的方法,而是自己实现
如何将字符串转换成整数,本文使用Java列出了三种方法:
1、利用java.lang.Integer类中的静态函数parseInt(String str)
int num = Integer.parseInt(str);
2、同样是利用java.lang.Integer中的函数,先将字符串转换成Integer对象,再得到整数
int num = Integer.valueOf(str).intValue();
3、第三种方法不采用jdk库中已经封装好的字符串转整数的方法,而是自己实现
public class Program { private static String status = "valid"; // 记录str是否可以转换成num public int strToInt(String str) { status = "invalid"; long num = 0; char[] chars = str.toCharArray(); if (str != null && str != "") { boolean minus = false; // 用于记录num是否是负数 if (chars[0] == '+') { str = str.replace("+", ""); } else if (chars[0] == '-') { minus = true; str = str.replace("-", ""); } if (str != "") { char[] digit = str.toCharArray(); num = StrToIntCore(digit, minus); } } return (int)num; } private long StrToIntCore(char[] digit, boolean minus) { long num = 0; int index = 0; // 索引下标 while (index < digit.length) { if (digit[index] >= '0' && digit[index] <= '9') { int flag = minus ? -1 : 1; num = num * 10 + flag * (digit[index] - '0'); if ( (!minus && num > 0x7fffffff) || (minus && num < 0x80000000) ) { num = 0; break; } ++index; } else { num = 0; break; } } if (index == digit.length) { status = "valid"; } return num; } }
相关文章推荐
- 2、微软面试题:输入一个表示整数的字符串,把该字符串转换成整数并输出
- 程序员面试题精选100题(17)-把字符串转换成整数
- 【面试题049】把字符串转换成整数
- 笔试面试题解备忘1:字符串转换成整数
- 程序员面试题精选100题(17)-把字符串转换成整数[算法]
- 剑指Offer:面试题49 把字符串转换成整数
- 网友面试题:C#,不使用任何Parse,TryParse,Convert方法,自写函数将数字字符串转换成整数
- 剑指offer面试题(49)把字符串转换成整数
- 面试题---2014.3.29阿里巴巴实习生招聘-研发工程师笔试题
- 常见C语言面试题之一:字符串代替、字符串转换整数
- 面试题:2014年腾讯,百度,微软,阿里巴巴(北京站)校园招聘笔试题(涉及C,C++,JAVA,数据结构)
- 面试题33:把字符串转换为整数
- 剑指offer--面试题49:把字符串转换成整数
- 微软,Google面试题 (17) —— 字符串转换成整数
- 一道简单的面试题:字符串转换成整数(修正版)
- 面试题整理 1:将一个字符串转换为整数
- 程序员面试题精选(17):把字符串转换成整数
- 面试题---2014.3.29阿里巴巴实习生招聘-研发工程师笔试题
- 程序员面试题精选100题(17)-把字符串转换成整数
- 阿里巴巴2014年实习生校园招聘面经(复试)