两个的区别

来源:百度知道 编辑:UC知道 时间:2024/07/05 05:24:14
int i=(int)(Math.random()*10);
char c=(char)('0'+i);
char d=(char)(i);
两个字符c,d的区别。
我编了成好后,一个正常,一个乱码,为什么?

因为楼主生成的i是1-10的随机数,1-10的char使一些符号还有换行等符号.
如果把代码换成

int i=(int)(Math.random()*10);
char c=(char)('0'+i);
char d=(char)(i+65);

System.err.println(c);
System.err.println(d);

看到的效果会更明显些,d是英文字母.