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

时间:2019-05-06 10:29:17

标签: 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 如何解决?

2 个答案:

答案 0 :(得分:1)

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

改用类Scanner,哪个函数int nextInt()完全满足您的需求:

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

答案 1 :(得分:0)

如前一个答案所述,您正在使用System.in.read获得ASCII值。如果您仍想使用该方法,则可以使用以下行将其隐藏到int中:

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