string字符串转换成int数组

   string字符串转换成int数组

前言:

    面试遇到该问题多次了,逻辑讲的出来,手写的时候就尴尬了尴尬。今天决心把这个代码实现一下,顺便做个备份大笑

实现:

    话不多说,直接上代码了!!!

1、功能实现类(封装实现方法),见下:

public class Transformation {
/**
* char translate to int (char - '0')
* '0' ASCII value is 48
*/
private char[] charArray;
private int[] numberArray;

public int[] stringToNumberArray(String str) {
stringToCharArray(str);
return numberArray;

}

//先将string转换成char数组
private void stringToCharArray(String str){
charArray = str.toCharArray();
charArrayToIntArray(charArray);

}

//在将char数组转换成int数组(-'0')数字0,减去0的ASCII值为48,依次换算其它数字1、2、3...
private void charArrayToIntArray(char[] array) {
if(array != null && array.length >1) {
numberArray = new int[array.length];
for(int i=0; i<numberArray.length; i++) {
numberArray[i] = array[i] - '0';
}
}
}

}

2、测试类:

public class TransformDemo {
private static String varArray = "0123456789";//例子数字字符串
private static int[] numberArray;
private static Transformation mTransform;

public static void main(String[] args) {
mTransform = new Transformation();
numberArray = mTransform.stringToNumberArray(varArray);
printValue();
}

private static void printValue() {
//打印转换成功后的int数组
for(int number : numberArray)
System.out.println("number: " + number);
//打印转换前string和转换后int数组长度
System.out.println("numberArray length = " + numberArray.length);
System.out.println("varArray length = " + varArray.length());
}

}

3、测试下来,功能实现了。供参考,不妥之处,有劳请指教吐舌头

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值