A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM马强 中级黑马   /  2013-9-23 14:35  /  1565 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 HM马强 于 2013-9-27 19:19 编辑
  1. String num = "123";
  2. byte[] arr = num.getBytes();
  3.                 for (byte b : arr) {
  4.                         System.out.println((int)b);
  5.                 }
复制代码
请问下大神们,这样输出后,结果为
49
50
51

怎样才能让他们输出为
1
2
3
这样子呢?

评分

参与人数 1技术分 +1 收起 理由
曹秀云 + 1 神马都是浮云

查看全部评分

7 个回复

倒序浏览
楼主,下面是修改之后的代码--->

public static void main(String[] args) {
                // TODO Auto-generated method stub
                String num = "123";
                char[] arr = num.toCharArray();
                for (char b : arr) {
                        System.out.println(b);
                }
        }

运行结果为--->

1
2
3

System.out.println((int)b); 这行代码,不要强转为(int) ,不然会输出他们队形的 ASCII 码

希望可以帮到楼主、、、

The you smile until forever 、、、、、、、、、、、、、、、、、、、、、
回复 使用道具 举报
yting_xmei1129 发表于 2013-9-23 14:49
楼主,下面是修改之后的代码--->

public static void main(String[] args) {

那如果需要他们参与运算怎么办?
回复 使用道具 举报
你给个例子咯,不然这个不好说啊!给例子了,马上帮你解决、、、
回复 使用道具 举报
String num="123";
String strs[]=num.splip("");//以前好像看过样的问题,用这种方法试试吧,我在网吧,没法进行验证,不过我记着是这样的。
int x=0;
for (int i=0;i<strs.length;i++){
        x=Integer.parseInt(strs[i]);
        System.out.print(x+"\t");
}
回复 使用道具 举报
如果不参与运算,直接输出单个字符就是
如果要参与运算把char字符转换成string类型的再转数字
回复 使用道具 举报
  1.         String num = "123";
  2.      char[] arr = num.toCharArray();
  3.          int[] in =new int[arr.length] ;
  4.      for (int i=0;i<arr.length;i++) {
  5.           String s = String.valueOf(arr[i]);
  6.                   in[i] = Integer.parseInt(s);
  7.      }
复制代码
这样子就把字符串每一个位都变成单个整数存放在数组in中了。
回复 使用道具 举报
public static void main(String[]args)
         {
                String num = "123";
                byte[] arr = num.getBytes();
               for (byte b : arr)
                        {
             System.out.println((char)b);
            }

     }
这样输出的就是
1
2
3
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马