Java parseInt实现

原创 2015年11月18日 23:28:18

实现如下:

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用了一个负数,而不用正数,是因为,如果你输入的是正数的话,后面几位都是负数之间的运算,的出来的结果就是正数。

相关文章推荐

Java parseInt()和parseFloat()的用法

一、parseInt() parseInt()方法首先查看位置0处的 字符,判断它是否是个有效数字;如果不是,该方法将返回NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置1处的...

java parseInt和valueof的区别

他们返回类型的不同是最大的原因:  static int parseInt(String s)            将字符串参数作为有符号的十进制整数进行分析。  static I...

java基础之Integer.parseInt(String s ,int radix)方法使用解释

方法parseInt(String s,int radix)的目的是输出一个十进制数,这个数字是“String s”但是我们要知道他是多少进制的,而方法中“int radix”参数正是来表达这个信息的...

Java中parseInt()和valueOf(),toString()的区别

1.parseInt()就是把String类型转化为int类型。 如 String a= "456";      int b = Integer.parseInt(a); 这样b就等于456了。 ...

java parseInt和valueof的区别

他们返回类型的不同是最大的原因:  static int parseInt(String s)            将字符串参数作为有符号的十进制整数进行分析。  static I...

Java中parseInt()和valueOf(),toString()的区别

1.parseInt()就是把String类型转化为int类型。 如 String a= "123";      int b = Integer.parseInt(a); 这样b就等于123了。 ...

自定义实现类似Java的Integer.parseInt(String str)函数

public static int stringToInteger(String str) { if (str == null || str == "") { throw new Runti...

自己实现的parseInt方法

public static int parseInt(String num) { int index = 0; int result = 0; if (num.startsWith("-")) {...

android执行网络操作

本篇我们会介绍连接到网络中涉及的基本任务,监测的网络连接(包括连接更改),并给予用户控制应用程序的网络使用情况。还介绍了如何解析和使用XML数据。 这个类包含一个示例应用程序来说明如何执行常见的网络...

android应用层-activity启动方式

Activity的启动 activity的启动可谓是老生常谈,但是面试了很多开发人员,大多还是对activity一知半解,今天就来深入讲解activity原理,有不当之处还望指正。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java parseInt实现
举报原因:
原因补充:

(最多只允许输入30个字)