预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

java字符串转化整型问题java字符串转化整型问题2016年JAVA认证考试已经在紧张的备考中了,在后期中考来临之际我们将会第一时间为广大考生发布中考时间安排,请广大考生随时关注本站。下面是JAVA认证复习备考资料——java字符串转化整型问题。publicclassStringParesInteger{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubSystem.out.println(Integer.MIN_VALUE);System.out.println(Integer.MAX_VALUE/10);System.out.println(pareseInt("="));}/**本题考查的主要是边界条件*1.穿入的字符串是否为空*2.字符串的首位是否为(+、-)*3.字符中是否有非法字符*4.穿入的字符串是否超过了整数的最大值(Integer.MAX_VALUE(2147483647)/Integer.MIN_VALUE(-2147483648))**@paramdata*@return*/publicstaticintpareseInt(Stringdata){/**判读穿传入的字符串是否为空*/if(data==null||data.length()==0){thrownewNullPointerException("dataisnull");}intindex=0;/****///是否为负数booleanisPositive=true;//临界值intlimit=0;//取出字符串的第一位charfirst=data.charAt(0);//第一位是负数的情况下if(first=='-'){isPositive=false;index++;//设置整形最小的`负数(-2147483648)limit=-Integer.MIN_VALUE;}//第一位是整数的情况下if(first=='+'){isPositive=true;//设置最大的正数是(2147483647)limit=Integer.MAX_VALUE;index++;}//设置比较的边界值(214748364)intmaxLimit=Integer.MAX_VALUE/10;intlength=data.length();intresult=0;while(index'0'&&ch<'9'){//先判断原来的值是否大于比较的临界值if(result>maxLimit){thrownewRuntimeException("整数越界了");}//判断当前位的值+ch的值是否》整数的最大值if(result*10>limit-(ch-'0')){System.out.println("result-->"+(result*10));System.out.println("max----->"+(Integer.MAX_VALUE));System.out.println("result-->"+(Integer.MAX_VALUE-(ch-'0'))+"ch="+(ch-'0'));thrownewRuntimeException("数组越界了s");}index++;result=result*10+(ch-'0');}else{thrownewRuntimeException("不是整数");}}//三目运算符returnisPositive?result:-result;}}