在线急求:Java怎么把数字字符型数组中的数字字符转为整型?




  RT  例如 char ch[]={'1','1','0','1'},怎么把‘1’和‘0’转换为整型的,用来加减运算和位运算??

13 个解决方案

#1


Integer.parseInt()

#2


1楼正解

#3


直接相减
char a='3';
int num='3'-'0';
if (num<0||num>9)
   num=0;

#4


只会土办法
public static void main(String[] args) {
char ch[] = { '1', '1', '0', '1' };
int i[] = new int[ch.length];
for (int j = 0; j < ch.length; j++) {
i[j] = Integer.parseInt(String.valueOf(ch[j]));
}
for (int j = 0; j < i.length; j++) {
System.out.println(i[j]);
}
}

#5


引用 3 楼 ouyangyh 的回复:
直接相减
char a='3';
int num='3'-'0';
if (num <0||num>9)
  num=0;

这个怎么理解?

#6


char a='3';
int num='3'-'0';  // 自动转换
if (num <0||num>9)
  num=0; 

char a='3';
一般情况下 Integer.parseInt(a) 
就可以了~

#7


Integer.parseInt(String s) ;

#8


java 里有这个方法,public static int parseInt(String s)
也就是说,如果有 
String s="1";

int a=Integer.parseInt(s);
//a=1

#9


6楼的效率最高,一般能比Integer.parseInt(String s)快8-10倍。

#10



for(char c : ch){
    int i = c-'0';
}

#11


1、4、7、8楼的Integer.parseInt(String s)方法中需要注意的是接收参数是String,需要把char转成String。
3楼那个直接是ASCII码转数字,原理看ASCII码表就成

#12


char要转型干吗....
本来就是数值....

#13


六楼比较靠谱,在java中,char本来就是整型的,只是AscII而已,六楼的int mun = '3'-'0'只是把3对应的ascII码减去0对应的ascII,由于ASCII中数字的码值是连续的,所以得到的当然是int 3了
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告