zoukankan      html  css  js  c++  java
  • 软件测试1

      在实现Atoi function(一个将字符串转换为int型的方法)的时候,由于一个int型数据是用32 bit大小的内存存储,因此一个int型数据的范围为 -21474836482147483647,当将处理好的字符串由Integer.parseInt()转换为int型时,数据可能会出现溢出,导致结果错误。这个问题的修改办法可以是用抛出异常的方法来解决,如下try代码所示,将num = Integer.parseInt(s)语句放入try方法中来。接着在catch中来处理。

    public static int myAtoi(String str) {

    if(str.isEmpty())return 0;

    String string = "1234567890";

    String s = "";

    int num = 0;

    while(str.charAt(0) == ' '){

    str = str.substring(1);

    }

    if("-+".contains(String.valueOf(str.charAt(0)))){

         s += str.charAt(0);

         str = str.substring(1);

    }

    for(int i = 0; i < str.length(); i++){

    if(string.contains(String.valueOf(str.charAt(i)))){

    s += str.charAt(i);

    }else break;

    }

    try {

    num = Integer.parseInt(s);

    } catch (Exception e) {

    if(s.length() > 2){

    if(Integer.parseInt(s.substring(0,2)) < 0){

    return -2147483648;

    }else {return 2147483647;}

    }else return 0;

    }

    return num;    

    }

  • 相关阅读:
    PPT_标题
    产品需求撰写-架构图
    测试
    SparkLauncher 1.6 版本bug
    Github fork同步
    Maven 配置远程仓库
    Sqoop2中传入配置文件中url之【坑】
    Spark性能优化-coalesce(n)
    面试算法题目
    Git 基本概念及常用命令
  • 原文地址:https://www.cnblogs.com/jied/p/6740792.html
Copyright © 2011-2022 走看看