这个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);
}
}
怎么回事呢?
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) {
}