我想往数组里输入几个数,赋给元素,编译通过,运行结果却不是意料中的,譬如输入12345,却出现了
b[0]=49
b[1]=50
b[2]=51
b[3]=52
b[4]=53
b[5]=13为什么啊?
import java.io.*;
public class io{ public static void main(String a[]){
byte []b;b=new byte[6];
int t=0;

try{ DataInputStream i=new DataInputStream(System.in);   int str=i.read(b);
System.out.println(str);
for (int k=0;k<6;k++)
System.out.println("b["+k+"]="+b[k]);
}catch(Exception e){System.out.println(e.toString());
}
}}

解决方案 »

  1.   

    结果没有错啊,你得到的是ASC.处理一下就可以啦.
    b[0]=49 "1"
    b[1]=50 "2"
    b[2]=51 "3"
    b[3]=52 "4"
    b[4]=53 "5"
    b[5]=13 "回车"
      

  2.   

    package cn.miw;import java.io.*;public class xx { public static void main(String a[]) {
    byte[] b;
    b = new byte[10];
    int t = 0; try {
    DataInputStream i = new DataInputStream(System.in);
    int str = i.read(b);
    System.out.println(str);
    for (int k = 0; k < b.length; k++) {
    int tmp = (b[k] >= 48 && b[k] < 58) ? (b[k] - 48) : b[k];
    System.out.println("b[" + k + "]=" + tmp);
    }
    } catch (Exception e) {
    System.out.println(e.toString());
    }
    }
    }-----------------------
    01234567890
    10
    b[0]=0
    b[1]=1
    b[2]=2
    b[3]=3
    b[4]=4
    b[5]=5
    b[6]=6
    b[7]=7
    b[8]=8
    b[9]=9