一个小问题,不明白

jon_____ 2010-07-14 09:45:28


package wu;

public class Low2up {

private static void zhuan(String value){
char values[] = value.toCharArray();
for(int i = 0;i<values.length;i++){
System.out.println(values.length-values[i]);

}
}
public static void main(String[] args) {
zhuan("12");
}
}



这里values.length-values[i] 的值为什么不是 -47 -48
...全文
99 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
bingmeng_1102 2010-07-14
  • 打赏
  • 举报
回复
values[0]的ASCII是49, 2-49=-47;
values[1]的ASCII是50, 2-50=-48.
jon_____ 2010-07-14
  • 打赏
  • 举报
回复
我搞忘记 values[i] 是什么了 哈哈
jon_____ 2010-07-14
  • 打赏
  • 举报
回复
OK
谢谢
metoo03 2010-07-14
  • 打赏
  • 举报
回复
values[i]这个拿到的是一个char值,‘1’的char值是它的ASCII值(应该是吧)49;
values.length-values[i]是拿这个char数组的长度减去char值会自动转化为int类型来作计算,
所以为2-49=-47,第二个同理。
DAVE_LUO 2010-07-14
  • 打赏
  • 举报
回复
明白了还不给分,我来接分的。呵呵
soli11722984 2010-07-14
  • 打赏
  • 举报
回复
System.out.println(values.length-Integer.parseInt(Character.toString(values[i])));
jon_____ 2010-07-14
  • 打赏
  • 举报
回复
不对
System.out.println((int)values.length-(int)values[i]);

还是 -47 -48
猿敲月下码 2010-07-14
  • 打赏
  • 举报
回复
char 类型的数据可以隐式得转换成int型
jon_____ 2010-07-14
  • 打赏
  • 举报
回复
恩,有点明白了,谢谢
closewbq 2010-07-14
  • 打赏
  • 举报
回复
System.out.println((int)values[i]);
这样输出你是不是明白了?
jon_____ 2010-07-14
  • 打赏
  • 举报
回复
values.length 和 values[i] 不应该是int型的么
soli11722984 2010-07-14
  • 打赏
  • 举报
回复
因为换成了ASCII运算了
jon_____ 2010-07-14
  • 打赏
  • 举报
回复
上面写错了,values.length-values[i] 的值为什么是 -47 -48 !!!!!!!!

62,623

社区成员

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

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