java,最简单的方法

将字符串转化为整数

http://www.nowcoder.com/questionTerminal/44d8c152c38f43a1b10e168018dcc13f

import java.util.*;


public class Solution {
    /**
     * 
     * @param str string字符串 
     * @return int整型
     */
    public int atoi (String str) {
        // write code here
        if(str.isEmpty()){
            return 0;
        }
        str=str.replaceAll(" ","");//替换空格
        ArrayList list=new ArrayList();
        int flag=1;//作为+-判断的依据,默认为+,(1代表+,0代表—)
        if(str.charAt(0)=='-'){
            flag=0;
        }
        for(int i=0;i<str.length();i++){
            if(str.charAt(i)>='0'&& str.charAt(i)<='9'){//若果是数字,全部添加到list
                list.add(Character.toString((str.charAt(i))));//将char转为String
            }else if(i>0){//一但发现其他字符,直接退出
                break;
            }
        }
        String res="";
        for(Object i:list){
            res+=(String)i;//拼接字符 
        }
        if(res.length()>10){//此处注意parseInte最长为10位
            if(flag==1){
                return Integer.MAX_VALUE;
            }else{
                return Integer.MIN_VALUE;
            }
        }
        if(flag==1){
            if(Integer.parseInt(res)>=Integer.MAX_VALUE){
                return Integer.MAX_VALUE;
            }else{
                return Integer.parseInt(res);
            }
        }else{
            if(-Integer.parseInt(res)<=Integer.MIN_VALUE){
                return Integer.MIN_VALUE;
            }else{
                return -Integer.parseInt(res);
            }
        }
    }
}
全部评论

相关推荐

Tom哥981:这份简历是“大一新生硬凹资深后端”的典型反面教材,槽点离谱到能让面试官直接笑出声: ### 1. 「年龄+入学时间」和项目复杂度完全脱节,可信度直接归0 你2024年7月才入学(现在刚读了1年多),19岁的大一新生,能把Vue3+Spring Boot+ShardingSphere+K8s+AI这些技术全塞进两个项目里?别说实际开发,光把这些技术的文档看完都得半年——这不是“能力强”,是“把招聘JD里的技术词全抄过来造假”,明摆着没碰过实际代码
点赞 评论 收藏
分享
11-16 01:13
宜春学院 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务