package com.test;public class AtoiTest {public static void main(String[] args) throws Exception {String s = "-011134";System.out.println("转换前的字符串:" + s);System.out.println("atoi1转换后的字符串:" + atoi1(s));System.out.println("atoi2转换后的字符串:" + atoi2(s));}/*** 不用java内置函数,将String字符串转换为数字* @param s* @return* @throws Exception */public static int atoi1(String s) throws Exception {if (s == null || s.length() == 0) {throw new Exception("要转换的字符串为空,无法转换!");}int retInt = 0;int[] num = new int[s.length()];for (int i = 0; i < s.length(); i++) {char c = s.charAt(i);switch (c) {case '-':num[i] = -1;break;case '0':num[i] = 0;break;case '1':num[i] = 1;break;case '2':num[i] = 2;break;case '3':num[i] = 3;break;case '4':num[i] = 4;break;case '5':num[i] = 5;break;case '6':num[i] = 6;break;case '7':num[i] = 7;break;case '8':num[i] = 8;break;case '9':num[i] = 9;break;default:throw new Exception("要转换的字符串格式错误,无法转换!");}}for (int i = 0; i < num.length; i++) {if (num[i] < 0 && i > 0) {throw new Exception("要转换的字符串格式错误,无法转换!");}if (num[i] < 0) {continue;}retInt += Math.pow(10, num.length - i - 1) * num[i];}if (num[0] == -1) {//代表负数retInt = -retInt;}return retInt;}/*** 不用java内置函数,将String字符串转换为数字* @param s* @return* @throws Exception*/public static int atoi2(String s) throws Exception{int retInt = 0;if (s == null || s.length() == 0) {throw new Exception("要转换的字符串为空,无法转换!");}boolean isNegative = false;for (int i = 0; i < s.length(); i++) {if (i==0) {if(s.charAt(i)=='-'){isNegative = true;continue;}}else{if(s.charAt(i)>'9' || s.charAt(i)<'0'){throw new Exception("要转换的字符串格式错误,无法转换!");}}retInt *=10;retInt += s.charAt(i) - '0';}return isNegative ? -retInt : retInt;}
}

转载于:https://www.cnblogs.com/wdpnodecodes/p/7455445.html

不使用java内置函数,将String字符串转换为int类型相关推荐

  1. java把含小数点的数字字符串转换为int类型

    String num ="1.00"; int abc =Double.valueOf(num).intValue();//转换为Int类型 转载于:https://www.cnb ...

  2. JAVA中将带负数的String字符串转换为int型数组方法

    原始数据: 1 1 0 2 5 1 -3 1 2 2 -1 4 -7 -8 0 -5 去掉空格和换行符 s=s.replaceAll("\r\n",""); s ...

  3. java字符串转list_java将String字符串转换为ListLong类型实例方法

    在一些应用场景当中,我们可能会遇到以下的场景,我们要使用的类型是List类型,但是接收到的参数是Stirng类型如1,2,3,4等这样的形式 那么我们可以通过采用以下的代码完成以上需求的转换 priv ...

  4. string是python内置函数吗_Python 字符串与内置函数(方法)

    一.字符串 1.字符串定义 a.定义时用成对双引号或成对单引号 b.也可以用成对的三个双引号或成对的三个单引号定义字符串(定义的字符串用包含单引号或双引号时可以用这个方法) c.字符串中间有单引号时, ...

  5. Freemarker 内置函数 数字、字符串、日期格式化用法介绍

    在用FreeMarker过程中,感觉FreeMarker的字符串,日期,集合等处理能力还是很强大的,上网搜了一些资料,整理如下,以便能帮助大家更熟练的应用Freemarker完成项目开发. 一.Seq ...

  6. python内置函数学习+截取字符串+字符串格式化符号+for循环

    https://www.runoob.com/python/python-built-in-functions.html python 字符串格式化符号:符 号 描述%c 格式化字符及其ASCII码% ...

  7. java 内置函数_java8 四大内置核心函数式接口

    其他补充接口: 一.Consumer:消费型接口(void accept(T t)) 来看一个简单得例子: 1 /** 2 * 消费型接口Consumer 3 */ 4 @Test 5 public ...

  8. Java内置函数的理解和加减乘除四个函数的学习

    arraycopy为System类自带的函数,可以通过Systems.arraycopy(-)这种形式直接调用. 以下为arraycopy的解释,请自行理解,填写下段代码的空行. public sta ...

  9. php的内置函数strrpos_php strrpos 字符串查找函数内部源码实现

    此函数strrpos从字符串的末尾开始查找所需要查找的字符.其他内部实现和strpos差不多是一样的. /* {{{ proto int strrpos(string haystack, string ...

最新文章

  1. 什么是负边沿触发_晶闸管的导通条件是什么 晶闸管(可控硅)检测方法
  2. 2017年,Java程序猿10本经典好书推荐
  3. WebStrom里设置angular提示,可以在html中提示ts文件的内容
  4. Git Rebase后,本地代码丢失解决方法
  5. SAP License:分摊、分配、定期重过账
  6. 如何把视频做成电脑壁纸?Dynamic Wallpaper导入视频壁纸的方法
  7. UIScrollView 和 UICollectionView 分页效果
  8. Hadoop开发环境搭建之Eclipse配置
  9. 黑苹果使用AppleALC驱动声卡
  10. echarts地图外边缘添加阴影投影或外发光
  11. 今有物不知其数,三三数只剩其二,五五数只剩其三,七七数只剩其二
  12. 人工智能在智慧城市建设的应用场景
  13. insert on duplicate key update命令
  14. 矩阵和向量的范式(Norms for Vectors and Matrices)
  15. 安卓模拟位置之夜神模拟器
  16. 查看正在运行python进程_查找Python中每个正在运行的进程的路径 - python
  17. 同时被三个面试官面试_工作面试官犯的5个错误
  18. pip install报错 There was a problem confirming the ssl certificate…
  19. 自然语言处理----常用函数简析
  20. 剪刀石头布(自留底)01

热门文章

  1. c语言程序设保安值班,保安值班系统
  2. Spring Boot 入门与实战笔记
  3. IDEA新建maven项目漏掉webapp目录解决方法
  4. go 调用其他文件函数_一文读懂Go中软件包概念
  5. Burpsuite技巧之MD5加密密码爆破、带验证码爆破
  6. 微信小程序之坦克大战学习
  7. 记录”limxml2剖析:功能特性”之摘抄
  8. 一文带你马上清楚bootstrap的栅格系统
  9. apche commons项目简介
  10. DL论文第一周-Deep learning