美文网首页
字符串转整数

字符串转整数

作者: 模块米次访问法撒旦法地方 | 来源:发表于2016-11-27 19:49 被阅读0次

    题目:输入字符串,转变为对应整数

    样式:输入"123",输出123

    解法:遍历输出

        private static int strToInt(String str) {
            if (str == null) {
                throw new IllegalArgumentException("str == null");
            }
            char[] chars = str.toCharArray();
            boolean sign = true;
            int index = 0;
            if (chars[index] == '-') {
                sign = false;
                index++;
            }
            int result = 0;
            for (; index < chars.length; index++) {
                char num = chars[index];
                if (num == ' ') {
                    continue;
                }
                num -= '0';
                if (num > 0 && num < 9) {
                    if (sign && (result > Integer.MAX_VALUE / 10 ||
                            (result == Integer.MAX_VALUE / 10 && num > Integer.MAX_VALUE % 10))) {
                        result = Integer.MAX_VALUE;
                        break;
                    } else if (!sign && (result - 1 > Integer.MAX_VALUE / 10 ||
                            (result - 1 == Integer.MAX_VALUE / 10 && num > Integer.MAX_VALUE % 10))) {
                        result = Integer.MIN_VALUE;
                        break;
                    } else {
                        result = result * 10 + num;
                    }
                } else {
                    throw new IllegalArgumentException("请输入数字");
                }
            }
            return sign ? result : -result;
        }
    

    主要在于判断正负溢出情况

    相关文章

      网友评论

          本文标题:字符串转整数

          本文链接:https://www.haomeiwen.com/subject/vpecdttx.html