我想从输入字符串中读取每个字符,应该怎么做?

rockingstorm 2004-05-08 01:59:14
我的做法是:
import java.io.ByteArrayInputStream;

public class JudgeNumber {
public JudgeNumber() {
}
public static void main(String[] args) {
JudgeNumber judgeNumber1 = new JudgeNumber();

try{
byte[] b = args[0].getBytes("UTF-8");
int length = args[0].length();

for(int i=0;i<length;i++){
System.out.println("b["+ i +"] is "+b[i]);
}


}catch(Exception e){}
}
}
然后java JudgeNumber 12345678
但为什么输出是:
length is 8
b[1] is50
b[2] is51
b[3] is52
b[4] is53
b[5] is54
b[6] is55
b[7] is56
...全文
87 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rockingstorm 2004-05-14
  • 打赏
  • 举报
回复
这个贴我只设了最高送分为20,各位大侠请到我专门送分的贴领分:
《江南愚子,芒果苯苯,水壶阳台,近猪者吃-近我者黑请进,专程送分》
rockingstorm 2004-05-14
  • 打赏
  • 举报
回复
其实 我发现String类有一个方法charAt()就可以 读取 每个 字符 了^^
sasa_sasa 2004-05-10
  • 打赏
  • 举报
回复
把byte[] b = args[0].getBytes("UTF-8");
改为byte[] b = args[0].getBytes("ISO8859-1");
bibleboy 2004-05-09
  • 打赏
  • 举报
回复
"UTF-8"是一种编码方式,就象我们通常用到的gbk,gb2312,shift-jis一样
在这种编码方式里面50就表示1,51就表示2
rockingstorm 2004-05-09
  • 打赏
  • 举报
回复
有点不明白,我输出的应该是字节类型的,但和50 ,51。。。。。。56这些有什么联系呢?好象根本就没有关联啊?请解释一下好吗?十分感谢你们的回答,一定送分
wuyaxlz 2004-05-08
  • 打赏
  • 举报
回复
System.out.println("b["+ i +"] is "+(char)b[i]);
江南愚子 2004-05-08
  • 打赏
  • 举报
回复
System.out.println("b["+ i +"] is "+(char)b[i]);
没有将整数转换成字符,就是这样的。输入的12345678是作为字符读进去的

62,623

社区成员

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

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