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

解决方案 »

  1.   

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

  2.   

    只会土办法
    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]);
    }
    }
      

  3.   

    char a='3';
    int num='3'-'0';  // 自动转换
    if (num <0||num>9)
      num=0; char a='3';
    一般情况下 Integer.parseInt(a) 
    就可以了~
      

  4.   

    Integer.parseInt(String s) ;
      

  5.   

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

  6.   

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

  7.   


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

  8.   

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

  9.   

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

  10.   

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