• 把字符串转换成整数


    题目描述

    将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。

    输入描述:

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

    输出描述:

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

    输入

    +2147483647
        1a33

    输出

    2147483647
        0
    /**
     * 
     * @author gentleKay
     * 题目描述
     * 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),
     * 要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。
     * 输入描述:
     * 输入一个字符串,包括数字字母符号,可以为空
     * 输出描述:
     * 如果是合法的数值表达则返回该数字,否则返回0
     * 示例1
     * 		输入
     * 			+2147483647
     * 			1a33
     * 		输出
     * 			2147483647
     * 			0
     */
    
    public class Main48 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		String str = "-13246+546+";
    		System.out.println(Main48.StrToInt(str));
    	}
    	
    	public static int StrToInt(String str) {
    		if (str.length() == 0 || str.equals("")) {
    			return 0;
    		}
    		char[] ch = str.toCharArray();
    		
    		int symbol = 0;
    		if (ch[0] == '-') {
    			symbol = 1;
    		}
    		int sum = 0;
    		for (int i=symbol;i<ch.length;i++) {
    			if (ch[i] == '+') {
    				continue;
    			}
    			if (ch[i] < 48 || ch[i] > 57) {
    				return 0;
    			}
    			
    			sum = sum*10 + ch[i]-48;
    		}
    		
            return symbol == 0 ? sum : sum * -1;
        }
    }
    

      

  • 相关阅读:
    cocos2d-x 3.0游戏实例学习笔记 《跑酷》第七步--物理碰撞检測(1)
    Android给定坐标计算距离
    LeetCode——Gray Code
    hdu 1203
    2015 年度新增开源软件排名TOP100
    compact处理流程分析
    ExtJs--06--Ext.WindowGroup相关方法简单使用
    android4.4的两个bug
    高阶MapReduce_1_链接多个MapReduce作业
    如何设置eclipse格式化xml代码时不自动换行
  • 原文地址:https://www.cnblogs.com/strive-19970713/p/11196386.html
Copyright © 2020-2023  润新知