system.in.read()返回的是你所输入值的ASCII码,下面程序中:
public static void main(String args[] ){
int a;
System.out.println("print a:");
a=system.in.read();
}
打印a,不管你输入多少,你会发现a的值为13(回车)或10(换行),当不含System.out.println("print a:");这句时,输入0会显示48,因为显示的是a的ascii码。
为了得到一个整数,我们可以用bufferedreader将system.in包装起来,当然,在此之前得先用inputstreamreader将system.in.read()包装起来如下:
Bufferedreader reader = new bufferedreader(new inputstreamreader(System.in));
a= Integer.parseInt(reader.readLine());
system.out.println("a="+a);//此时输入5,就可以得到5