700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 把字符串转换成整数(阿里巴巴实习生招聘面试题)

把字符串转换成整数(阿里巴巴实习生招聘面试题)

时间:2019-03-25 22:35:09

相关推荐

把字符串转换成整数(阿里巴巴实习生招聘面试题)

题目:写一个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库中已经封装好的字符串转整数的方法,而是自己实现

public class Program {private static String status = "valid"; // 记录str是否可以转换成numpublic 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;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。