您的位置:首页 > 编程语言 > Java开发

Java parseInt实现

2015-11-18 23:28 267 查看
实现如下:

package com.abin.lee.algorithm.test;

/**

 * Created with IntelliJ IDEA.

 * User: abin

 * Date: 15-11-18

 * Time: 下午10:44

 * To change this template use File | Settings | File Templates.

 */

public class Transform {

    public static void main(String[] args) {

//        int result = Integer.parseInt("15");

//        System.out.println(result);

        int result1 = parseInts("-15");

        System.out.println("result1="+result1);

    }

    public static Integer parseInts(String param){

        if(null == param)

            return null;

        boolean flag = (param.charAt(0) == '-');

        int index = flag ? 1 : 0;

        int digit = Character.digit(param.charAt(index++),10);

        int temp = -digit;

        while(index < param.length()){

            digit = Character.digit(param.charAt(index++),10);

            temp *= 10;

            temp -= digit;

        }

        if(flag)

            return temp;

        else

            return -temp;

    }

}

这里的重点实际就是为什么中间的temp用了一个负数,而不用正数,是因为,如果你输入的是正数的话,后面几位都是负数之间的运算,的出来的结果就是正数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: