博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法-将一个字符串转换成一个整数
阅读量:3960 次
发布时间:2019-05-24

本文共 1282 字,大约阅读时间需要 4 分钟。

题目描述

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

import java.lang.Math;public class Solution {
public int StrToInt(String str) {
if(str == null || str.length() == 0) {
return 0; } boolean flag = true;//true表示+ false表示- //字符串首位是正 if(str.charAt(0) == '+') {
flag = true; //截取后面除去符号的位数 str = str.substring(1); }else if(str.charAt(0) == '-') {
flag = false; str = str.substring(1); } //将字符串转化为数组 double res = 0; char[] s = str.toCharArray(); for(int i = 0; i < s.length; i++) {
//判断每一位字符是不是数字 if(!Character.isDigit(s[i])) {
return 0; }else{
//是数字就开始计算 s[i] - 48是把字符转化为数字 res += Math.pow(10, s.length - i - 1) * (s[i] - 48); } } //判断正负 if(flag == true) {
if(res > Integer.MAX_VALUE) {
return 0; }else{
return (int)res; } }else {
if((0-res) < Integer.MIN_VALUE) {
return 0; }else{
return (int)((0-res)); } } }}

转载地址:http://nxhzi.baihongyu.com/

你可能感兴趣的文章
通用 Makefile 的编写方法以及多目录 makefile 写法
查看>>
C++的4种智能指针剖析使用
查看>>
RPC框架实现之容灾策略
查看>>
Docker私库
查看>>
hdu——1106排序(重定向)
查看>>
hdu——1556Color the ball(树状数组)
查看>>
hdu——1541Stars(树状数组)
查看>>
快速幂的精简代码
查看>>
求大数乘方的前n位数字(对数加快速幂)
查看>>
hdu——2602Bone Collector(第一类背包问题)
查看>>
hdu——1711Number Sequence(kmp专练)
查看>>
strstr函数和find函数的异同
查看>>
Java的反射
查看>>
HTTP请求之POST与GET区别
查看>>
SSM结合Redis
查看>>
优化数据库的八种方法
查看>>
Java Web服务收到请求时线程的情况以及session情况
查看>>
SSM配置文件信息加密实现
查看>>
@Produces注解
查看>>
谈谈序列化—实体bean一定要实现Serializable接口?
查看>>