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用了一个负数,而不用正数,是因为,如果你输入的是正数的话,后面几位都是负数之间的运算,的出来的结果就是正数。
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用了一个负数,而不用正数,是因为,如果你输入的是正数的话,后面几位都是负数之间的运算,的出来的结果就是正数。
相关文章推荐
- Spring中id和idref属性的区别
- java高效的文件复制方法
- 0. Spring4.1-环境搭建
- Java log日志输出
- JavaWeb---框架SpringMvc+Mybatis开发项目第一季(共三季)
- 用java实现计算String类型的四则运算——用栈和后缀表达式实现
- 2. Spring4.1-Java Config
- java(6)内部类基础
- java to Json or Json to JavaBean
- 《Java虚拟机原理图解》3、JVM运行时数据区
- Java里子类调用父类构造方法问题
- Struts2通配符映射
- Struts2通配符映射
- Java 多线程的基本概念
- Java中提供的工具类
- Java记录 -82- 静态导入 Static Import
- JAVA注解
- 1. Spring4.1-依赖注入
- java环境的搭建
- 细说 JavaBean