gpt4 book ai didi

java - BufferedReader 的 read() 方法如何工作?

转载 作者:行者123 更新时间:2023-12-04 16:10:16 29 4
gpt4 key购买 nike

public class Test{
public static void main(String [] args){

BufferedReader reader = new BufferedReader(new
InputStreamReader(System.in));
System.out.println("Enter number?");
int num = br.read();
System.out.println("You entered " + num);
}
}

如果我给 97 作为输入,那么它给 57 作为输出。为什么?我的意思是 read 方法返回 int 那么为什么它返回另一个东西?并假设如果我们用 (char)reader.read() 替换 br.read() 并且如果我们将输入作为 97 那么输出是否保持不变我的意思是将 97 转换为字符 'a'.Kindly make我的概念很清楚。我对 int 何时以 ascii 或 unicode 以及更进一步的形式表示感到困惑。

最佳答案

BufferedReaderread() 方法只读取一个字符,所以它实际上是打印数字 9 的 Unicode 值(取97 中的第一个数字)如下所示:

char c = '9';
int num = c; //reader.read();

输出:57

要解决此问题,您可以使用 readLine() 将输入读取为一行并将其转换为 int,如下所示:

int num =  Integer.parseInt(reader.readLine());

关于java - BufferedReader 的 read() 方法如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43406545/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com