byte bText[] = new byte[7];
String str = null;

str =4+","+5+","+23+",";
bText = str.getBytes();
for(int i = 0;i<bText.length ;i++)
System.out.println(bText[i]);
这样最终得到的结果是 4 ,5 ,2 3 ,的ASCII码输出,
即 52 44 53 44 50 51 44
  4  , 5  , 23   ,
而我想要得到的
是 4 5 23输出,并且想直接操作这些数据,对其进行加减请问该怎么办了?

解决方案 »

  1.   

    如果你的输入就是bytes,那就转换为字符串再操作,
    如果你的输入就是string,就直接操作
      

  2.   

    byte类型只有一个字节长度,你也不可能把23放到它里面的。
    个人认为你可以用下面的方式实现,不知道我理解的是否正确
    public class StringTo {
        public static void main(String args[]){
            int aa[] = new int[3];
            String str = null;
            int i=0;
            str =4+","+5+","+23+",";
        StringTokenizer st = new StringTokenizer(str,",");
            while(st.hasMoreElements()){
                aa[i]=Integer.parseInt(st.nextToken());
                ++i;
            }
            for(int bb=0;bb<aa.length;bb++){
                System.out.println(aa[bb]);
            }
        }
    }
      

  3.   

    二楼的是一个解决办法。提供另一个:
    首先byte[] data=(4+","+5+","+23+",").getBytes();
    得到52 44 53 44 50 51 44
    之后顺序读取,如果是44,说明一个数值结束,那么可以解析出这个数值来。