• 软件测试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;    

    }

  • 相关阅读:
    PAT 1017 Queueing at Bank
    一句有意思的代码
    PAT 1031 Hello World for U
    PAT 1024 Palindromic Number
    PAT 1032 Sharing
    各显神通
    ZJU PAT 1023
    静夜,乱思
    PAT 1024 Palindromic Number
    虚函数表
  • 原文地址:https://www.cnblogs.com/jied/p/6740792.html
Copyright © 2020-2023  润新知