Bootstrap

把一个字符串转换成int类型(Java实现)

把一个字符串转换成int类型,比如“123”  --> 123

这道题目主要考查边界情况及非法输入的处理,c++跟Java处理起来不一样,Java是不存在整数比Integer.MAX_VALUE还大的数,Java会将溢出的数自动进行处理成合法的值,负数也是同理,剑指offer49题用c++实现,直接比较了一下正数或负数跟最大正整数和最小负整数的值,Java这样比较是不行的。参考Integer("123455")的构造方法,实现如下:

public class _49_StrToInt {//把一个字符串转换成int类型,比如“123”  --》 123
	
	public static boolean valid = false;
	public static boolean coreFlag=false;
	public static int strToInt(String num){
		if(num == null || num.length() == 0){
			valid = false;
			return 0;
		}
		int a = 0;
		if(num.charAt(0)=='+'){//
			a = core(num,'+');
		}else if(num.charAt(0) == '-'){
			a = core(num,'-');
		}else if(num.charAt(0) >= &
;