这个Java输出怎么错了啊

来源:百度知道 编辑:UC知道 时间:2024/05/31 19:51:09
输入十以内的数字他的输出就是48 52什么的
怎么回事呢?
import java.io.*;
public class jc1
{
public static void main(String args[])
{int a;

System.out.println("请输入一个数:");

a=(int)System.in.read();

System.out.println("输入为:"+a);

}
}

用的是ASCII码,因为你直接将键盘输入的转换为了int,那么就是将其ASCII码转换了,你应该用Scanner这个类的nextInt等api来接受输入

a=(int)System.in.read()-48;

错误原因:System.in.read();已字节流的形式接收 所以期间会抛出IO异常
public static void main(String[] args) {
int a;
System.out.println("请输入一个数:");
try{
a = System.in.read();
System.out.println("输入为:"+a);
}catch (Exception e) {

}