字符串转数组

来源:互联网 发布:阿里云 功能 编辑:程序博客网 时间:2024/05/20 06:41

边界测试

无效输入

越界

public class StrToInt {/** * @param args */public static int nflag=-1;//表示字符串无效public static void main(String[] args) {// TODO Auto-generated method stub      String s="-1234567891010";      strToInt(s);}private static void strToInt(String s) {if(s==null) return;int len = 0;long  num=0;boolean minus=false;if(s.charAt(0)=='+'){len++;}else if(s.charAt(0)=='-'){len++;minus=true;}num=Invert(s,len,minus);System.out.println((int)num);}private static long Invert(String s, int len, boolean minus) {long num=0;int flag=minus?-1:1;for(int i=len;i<s.length();i++){if(s.charAt(i)>'0' && s.charAt(i)<'9'){num=num*10+flag*(s.charAt(i)-'0');if(!minus && num>0x7FFFFFFF ||(minus&& num<0x80000000)){num=0;break;//转成数字越界}}else{num=0;//字符串不合法break;}}if(s!=""){nflag=0;//字符串有效}return num;}}


0 0
原创粉丝点击