将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 。

输入一个字符串,包括数字字母符号,可以为空;

如果是合法的数值表达则返回该数字,否则返回0;

代码

public static int parseString2Int(String str) {

if (Strings.isNullOrEmpty(str)) {

return 0;

}

// 数字的正负,默认是正数

int symbol = 1;

char[] array = str.toCharArray();

int sum = 0;

// 如果第一位是'-',说明结果应该是个负数,'+'不需要处理symbol

// 同时替换该位置上的字符为0,这样在下面的处理中,可以认为是跳过该字符

// 因为0 * 10还是0

if (array[0] == '-') {

symbol = -1;

array[0] = '0';

} else if (array[0] == '+') {

array[0] = '0';

}

for (int i = 0; i < array.length; i++) {

// 如果不是数字,而是其他字母符号一类非数字字符,则直接返回0

if (array[i] < '0' || array[i] > '9') {

return 0;

}

// sum * 10是为了将当前已获得数字整体左移一位,让新的数字可以处于个位上,比如"12"

// 第一次拿出1,在第二次拿出2的时候,1应该在十位上,2在个位上,所以 1 * 10 + 2 = 12

// array[i] - '0',这里减去字符'0',是因为字符'0'-'9'的ascii码值与其对应的数字相差48,而'0'的ascii码值正好是48

sum = sum * 10 + array[i] - '0';

}

return sum * symbol;

}

public static void main(String[] args) {

int result = parseString2Int("123");

System.out.println(result);

}

java如何把字符串变成整数_Java 实现把字符串转换成整数相关推荐

  1. 算法笔记_028:字符串转换成整数(Java)

    1 问题描述 输入一个由数字组成的字符串,请把它转换成整数并输出.例如,输入字符串"123",输出整数123. 请写出一个函数实现该功能,不能使用库函数. 2 解决方案 解答本问题 ...

  2. 【Java】 剑指offer(67) 把字符串转换成整数

      本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 请你写一个函数StrToInt,实现把字符串转换成整数这个功能 ...

  3. 剑指Offer(Java版):把字符串转换成整数

    2019独角兽企业重金招聘Python工程师标准>>> 题目:实现一个函数 stringToInt,实现把字符串转换成整数这个功能,不能使用 atoi 或者其他类似的库函数. 题目解 ...

  4. Java实现字符串转换成整数

    1 问题描述 输入一个由数字组成的字符串,请把它转换成整数并输出.例如,输入字符串"123",输出整数123. 请写出一个函数实现该功能,不能使用库函数. 2 解决方案 解答本问题 ...

  5. 面试题67. 把字符串转换成整数

    题目 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们 ...

  6. 67. 把字符串转换成整数

    文章目录 剑指 Offer 67. 把字符串转换成整数 解题思路 Java代码 剑指 Offer 67. 把字符串转换成整数 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 a ...

  7. java浮点数化为整数_[Java教程]javascript浮点数转换成整数三种方法

    [Java教程]javascript浮点数转换成整数三种方法 0 2014-06-24 04:00:27 将浮点数转换成整数方法有很多,分享三种常用方法. Summary 暂时我就想到3个方法而已.如 ...

  8. 程序员编程艺术第三十 三十一章 字符串转换成整数,通配符字符串匹配

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 第三十~ ...

  9. 字符串转换成整数,带通配符的字符串匹配

    之前本一直想写写神经网络算法和EM算法,但写这两个算法实在需要大段大段的时间,而平时上班,周末则跑去北大教室自习看书(顺便以时间为序,说下过去半年看过的自觉还不错的数学史方面的书:<数理统计学简 ...

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

    题目:写一个strToInt函数,实现字符串str转换成整数num. 如何将字符串转换成整数,本文使用Java列出了三种方法: 1.利用java.lang.Integer类中的静态函数parseInt ...

最新文章

  1. 关于 SoftEther ***
  2. java如何获得点的横纵坐标_横纵坐标怎么区分
  3. ext3文件系统反删除利器-ext3grep
  4. sql 与linq的转换
  5. 利用usb远程控制linux,Linux编程控制硬件(5) ---- 操作USB手柄
  6. 【机器视觉】 dev_set_shape算子
  7. mysql做主从复制配置案例
  8. BZOJ 4808: 马(二分图最大点独立集)
  9. chromedriver : Saving to 安装卡住 解决
  10. mysql存储过程执行update_MySQL存储过程实现动态执行SQL
  11. 电商移动促销页面设计素材PSD分层模板,轻松出稿稿
  12. Git 分支相关操作
  13. mysql ip 访问_MySql通过ip地址进行访问的方法
  14. Java语法基础学习DayNineteen(反射机制)
  15. java实现阳历农历节以及节假日日期计算
  16. DAY 2 Perceived and cognition || HTML CSS 入门
  17. WIN10系统进入BIOS的方法(无需开机时按快捷键)
  18. arm -linux开发产品,arm是什么意思_arm的翻译_音标_读音_用法_例句_爱词霸在线词典...
  19. ncm 网络_HS-NCM超高速网卡
  20. 图书管理系统之带验证码登录界面

热门文章

  1. 【汇正财经顾晨浩】2023 年风电交付大年,聚焦大型化及深远海
  2. .Net Core有哪些不错的开源项目?
  3. QLib微软量化学习笔记
  4. android studio 加载so文件各种错误
  5. 2、线程池篇 - 从理论基础到具体代码示例讲解(持续更新中......)
  6. 计算机网络技术术语翻译,计算机网络词汇中文英语翻译对照术语
  7. 卫生专业人士请求WHO指导民众用鼻腔喷雾剂抗击COVID-19大流行、 医生用其治疗患者
  8. 三种让div居中的方式
  9. 淀种念想,和顺沧海桑田间
  10. 微信公众号开发配置url提示token验证失败(http可以,https失败)