RT 例如 char ch[]={'1','1','0','1'},怎么把‘1’和‘0’轉換為整型的,用來加減運算和位運算??
13 个解决方案
直接相減
char a='3';
int num='3'-'0';
if (num<0||num>9)
num=0;
只會土辦法
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]);
}
}
char a='3';
int num='3'-'0'; // 自動轉換
if (num <0||num>9)
num=0;
char a='3';
一般情況下 Integer.parseInt(a)
就可以了~
Integer.parseInt(String s) ;
java 里有這個方法,public static int parseInt(String s)
也就是說,如果有
String s="1";
int a=Integer.parseInt(s);
//a=1
6樓的效率最高,一般能比Integer.parseInt(String s)快8-10倍。
1、4、7、8樓的Integer.parseInt(String s)方法中需要注意的是接收參數是String,需要把char轉成String。
3樓那個直接是ASCII碼轉數字,原理看ASCII碼表就成
六樓比較靠譜,在java中,char本來就是整型的,只是AscII而已,六樓的int mun = '3'-'0'只是把3對應的ascII碼減去0對應的ascII,由於ASCII中數字的碼值是連續的,所以得到的當然是int 3了