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

vysnow 2009-11-21 08:57:15


RT 例如 char ch[]={'1','1','0','1'},怎么把‘1’和‘0’转换为整型的,用来加减运算和位运算??
...全文
1217 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jefyjiang 2009-11-22
  • 打赏
  • 举报
回复
六楼比较靠谱,在java中,char本来就是整型的,只是AscII而已,六楼的int mun = '3'-'0'只是把3对应的ascII码减去0对应的ascII,由于ASCII中数字的码值是连续的,所以得到的当然是int 3了
beiouwolf 2009-11-21
  • 打赏
  • 举报
回复
char要转型干吗....
本来就是数值....
墨水鱼 2009-11-21
  • 打赏
  • 举报
回复
1、4、7、8楼的Integer.parseInt(String s)方法中需要注意的是接收参数是String,需要把char转成String。
3楼那个直接是ASCII码转数字,原理看ASCII码表就成
墨水鱼 2009-11-21
  • 打赏
  • 举报
回复

for(char c : ch){
int i = c-'0';
}
墨水鱼 2009-11-21
  • 打赏
  • 举报
回复
6楼的效率最高,一般能比Integer.parseInt(String s)快8-10倍。
公子睿Sking 2009-11-21
  • 打赏
  • 举报
回复
java 里有这个方法,public static int parseInt(String s)
也就是说,如果有
String s="1";

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

yllzhq 2009-11-21
  • 打赏
  • 举报
回复
Integer.parseInt(String s) ;
ainbax 2009-11-21
  • 打赏
  • 举报
回复
char a='3';
int num='3'-'0'; // 自动转换
if (num <0||num>9)
num=0;

char a='3';
一般情况下 Integer.parseInt(a)
就可以了~
vysnow 2009-11-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ouyangyh 的回复:]
直接相减
char a='3';
int num='3'-'0';
if (num <0||num>9)
  num=0;

[/Quote]
这个怎么理解?
crazylaa 2009-11-21
  • 打赏
  • 举报
回复
只会土办法
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]);
}
}
ouyangyh 2009-11-21
  • 打赏
  • 举报
回复
直接相减
char a='3';
int num='3'-'0';
if (num<0||num>9)
num=0;
shaoguangminghan 2009-11-21
  • 打赏
  • 举报
回复
1楼正解
苍蝇①号 2009-11-21
  • 打赏
  • 举报
回复
Integer.parseInt()

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧