StringToInt(atoi) 字符串转换成整数
public class StringToInt {
public int atoi(String s)
{
long num = 0;
int minus = 0;
if(s==null)
{
return (int)num;
}
//过滤所有空格
s = s.trim();
for(int i = 0; i < s.length(); i++ )
{
if(i==0 && s.charAt(i)=='-')//过滤首个字符是负号
{
minus = 1;
continue;
}
if(i==0 && s.charAt(i)=='+')//过滤首个字符是正号
{
continue;
}
// if(Character.isWhitespace(s.charAt(i)))//过滤空格
// {
// continue;
// }
if(s.charAt(i)>='0' && s.charAt(i)<='9')//正常情况
{
num = num*10 + s.charAt(i)-'0';
//一定要在这里判断num的值,而不是放在最后,因为num值可能不仅超过int还超过long,在这里判断可以及时break
if(num > Integer.MAX_VALUE)
{
num = minus > 0 ? Integer.MIN_VALUE : Integer.MAX_VALUE;
return (int)num;
}
}
else
{
break;
}
}
if(minus == 1)
{
num = 0-num;
}
return (int)num;
}
public static void main(String[] args)
{
StingToInt t = new StingToInt();
System.out.println(t.atoi(" - 232a23"));//输出-232
}
}
StringToInt(atoi) 字符串转换成整数的更多相关文章
- [Leetcode] String to integer atoi 字符串转换成整数
Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...
- 算法练习-字符串转换成整数(实现atoi函数)
练习问题来源 https://leetcode.com/problems/string-to-integer-atoi/ https://wizardforcel.gitbooks.io/the-ar ...
- 如何实现字符串转换成整数(实现atoi内置函数)?
题目描述 输入一个由数字组成的字符串,把它转换成整数并输出.例如:输入字符串"123",输出整数123. 给定函数原型int StrToInt(const char *str) , ...
- 17.把字符串转换成整数[atoi]
[题目] 把字符串转换成整数,需要考虑字符串有效性. [代码] C++ Code 123456789101112131415161718192021222324252627282930313233 ...
- 【Java】 剑指offer(67) 把字符串转换成整数
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 请你写一个函数StrToInt,实现把字符串转换成整数这个功能 ...
- 【剑指Offer学习】【面试题49:把字符串转换成整数】
题目:实现一个函数stringToInt,实现把字符串转换成整数这个功能.不能使用atoi或者其它相似的库函数. 题目解析 这看起来是非常easy的题目,实现基本功能 ,大部分人都能用10行之内的代码 ...
- 《剑指offer》第六十七题(把字符串转换成整数)
// 面试题67:把字符串转换成整数 // 题目:请你写一个函数StrToInt,实现把字符串转换成整数这个功能.当然,不 // 能使用atoi或者其他类似的库函数. #include <ios ...
- 剑指offer——把字符串转换成整数(c++)
题目描述请你写一个函数StrToInt,实现把字符串转换成整数这个功能.当然,不能使用atoi或者其他类似的库函数. 示例 1:输入: " -42"输出: -42解释: 第一个非空 ...
- [LeetCode]面试题67. 把字符串转换成整数
题目 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们 ...
随机推荐
- Web开发之容器
Web开发之容器 主题 Servlet容器.Web容器.应用服务器 参考资料 Servlet容器.Web容器.应用服务器 Servlet容器的主要任务是管理Servlet的生命周期 ...
- influxDB选择类函数
1)TOP()函数 作用:返回一个字段中最大的N个值,字段类型必须是长整型或float64类型. 语法: SELECT TOP(<field_key>[,<tag_keys>] ...
- 为什么调用 GdiplusShutdown 函数会在 DllExports::GdipDeleteGraphics(nativeGraphics) 位置抛出异常?
因为没有仔细看文档 https://docs.microsoft.com/en-us/windows/desktop/api/Gdiplusinit/nf-gdiplusinit-gdiplusshu ...
- EChars文档
http://echarts.baidu.com/echarts2/doc/doc.html#SeriesMap http://echarts.baidu.com/option.html
- spring中实现自己的初始化逻辑
实现这两个listener都可以进行自己的初始化逻辑. InitializingBean.afterPropertiesSet 这个优先调用 ApplicationListener.onApplica ...
- 011-git-将tag推送到远端
1.将tag推送到远端 在使用TortoiseGit过程中,push推送过程中,选择include tag,远端就有次分支.
- 002-maven修改仓库以及镜像地址
1.将下载好的maven,修改配置 <localRepository>G:\mavenrepository-idea</localRepository> 2.修改增加镜像地址 ...
- Java基础—运算符(转载)
转载自:Java运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运 ...
- Junit单元测试注入spring中的bean(转载)
转载自:http://blog.csdn.net/cy104204/article/details/51076678 一般对于有bean注入的类进行方法单元测试时,会发现bean对象并没有注入进来,对 ...
- 关于SIM800C MINI V4.0 V4版本 5v供电模块重启问题
现象描述 模块不停重启,发送AT时候能看到,不停的回复Call Ready 或者SIM卡确认没问题,但是NET指示灯一直不能进入3秒闪烁的状态. 1.内核要求 SIM800C内核要求需要电源有瞬间有2 ...