Java中的控制台输入(整数)

Java中的控制台输入(整数),java,Java,我需要从控制台获取整数输入 import java.io.IOException; class tst{ public static void main(String args[]) throws IOException { int t=(int)System.in.read(); System.out.println(t); } } 我期望输出为2,但实际输出为50 如何解析?这是因为System.in.read()读取下一个c

我需要从控制台获取整数输入

import java.io.IOException;
class tst{
    public static void main(String args[])
    throws IOException
    {
        int t=(int)System.in.read();
        System.out.println(t);
    }
}
我期望输出为2,但实际输出为50
如何解析?

这是因为
System.in.read()
读取下一个
char
,而在中,char
2
对应于十进制数
50

改为使用类,该类函数
int nextInt()
完全满足您的需要:

int t = new Scanner(System.in).nextInt();
System.out.println(t);

正如前面的回答所说,您使用
System.in.read
获取ASCII值。如果仍要使用该方法,可以使用以下行将其转换为
int

int t = Character.getNumericValue(System.in.read());

你提供了什么信息?为什么不使用Scanner类?我的输入是2。