突然想起3年前的一道百度的校招笔试题,题目是如何把String转换成int,记录一下。
/**
* 字符串转换int
* @param args
*/
public static void main(String[] args){
//输入的字符
String stringInt = "123456";
//String转换成char
char[] charsInt = stringInt.toCharArray();
//用来缓存标记的char单位int
int charInt;
//转换的int结果
int number = 0;
//位标记
int position = 1;
for(int i = charsInt.length; i>0; i--){
//char与int的相互转化,联想ASCII码,字符‘0’对应的值为48,所以不能直接加减,要扣除‘0’
charInt = (charsInt[i-1]-'0');
//大于9就有问题了
if(charInt > 9){
System.out.println("输入的不是数字。");
return;
}
//叠加计算
number += (position * charInt);
//计算当前数字的位
position *= 10;
}
System.out.println("转换成功:" + number);
}