//在用于接受用户输入时,只能用byte,不能用char?
import java.io.*;
public class aa
{
public static void main(String args[])  throws IOException
{  byte aa[]=new byte[10];   //换成 char aa[]=new char[10]会出错,WHY?

int count=System.in.read(aa);
}

}

解决方案 »

  1.   

    我发觉char做数组是无问题的,下例测试通过,为什么上例不能用char?public class aa
    {
    public static void main(String args[])  throws IOException


    char aa[]=new char[10];
    int i;
    for(i=0;i<10;i++)
    {
    aa[i]=(char)(64+i);
    }
    for(i=0;i<10;i++)
    {
    System.out.print(" "+aa[i]);
    }
    }

    }
      

  2.   

    可以用插入的,但是需要转换
    char ch[] = new char[10];Reader r = new Reader(new InputStreamReader(System.in));
    int count = r.read(ch);
      

  3.   

    兄弟能从原理上解释一下System.in.read(aa);  不能是char aa[]=new char[10]吗?我只要是想搞明白 byte用来存放字符时 与 char的区别
      

  4.   

    有System.in.read(byte[])没有System.in.read(char[]),byte为8位无符号,char为32位无符号,不存在char到byte的无损自动转换。
      

  5.   

    byte用来存放字节char用来存放字符
    读取操作有通过字节流的如System.in.read(byte[])
    也有读取字符流的
    你可以查一下api文档
    System.in.read 构造方法没有传char[]值的,所以不能用啊