arg.charAt(i) - '0'; 和arg.charAt(i)
arg.charAt(i) - '0'是将前面的ascii码减去0的ascii码
例如arg.charAt(i)表示的是字符f
f的ascii码为102
0的ascii码48
102-48=54
ascii码54 表示的是字符6 (f在26个字母中排第六)
java将字符串转换成整数数组,可以先拆分字符串,然后使用Integer进行转换,实例如下:
String str = "100 200 33 55";//字符串
String[] temp = str.spli(" ");//以空格拆分字符串
int[] result = new int[temp.length];//int类型数组
for(int i=0;i{
result[i] = Integer.parseInt(temp[i]);//整数数组
}
arg.charAt(i) - '0'和arg.charAt(i)的差别是:前者能得到想要的正确结果,实际上是arg.charAt(i)这个字符的ASCII码值与0这个字符的ASCII值(48)相减的结果,而后者则只能得到arg.charAt(i)的ASCII值。 以下代码已通过测试:
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String str = args[0];
int [] a = new int[str.length()];
for(int i=0; i
}
for(int i=0; i
}
}
}
转换成整形数组,基本思想就是把String类型的字符串中的每个字符转换为一个char型字符,char型字符可以直接强制转换为int类型整数,然后存到数组中
public class Test {
public static void main(String[] args) {
String arg = args[0];
int[] a = new int[arg.length()];
for(int i=0;i
}
for(int i=0;i
}
}
}
有专门转整数的,但是没有转整数数组的。要是想一个字符一个数字的话,就自己跑循环。