在使用 DataInputStream 输入任何值时,如果我输入任何一位数字,我必须按 Enter 键两次......并且在下面编写的代码片段中
public void print()
{
DataInputStream in = new DataInputStream(System.in);
try
{
System.out.println("Enter a digit");
int n=in.readInt();
System.out.println(n);
}
.
.
.
.
在打印 n 的值时,它通常会显示一些意外的值...使用 BufferedReader 不会导致同样的问题...
当输入的值为 233 时,输出显示为 842216202...代码中可能出现的错误是什么...需要帮助...
最佳答案
DataInputStream
读取二进制数据。当您输入 [2, 3, 3,\n]
时,它等于 [0x32, 0x33, 0x33, 0x0A]
(以大尾数法), 0x3233330A
,即842216202
(十进制格式)。
更改为扫描仪
,它读取文本并具有将字符转换为(例如)整数的说服方法,您使用扫描仪
的示例:
Scanner in = new Scanner(System.in);
try {
System.out.println("Enter a digit");
int n = in.nextInt();
System.out.println(n);
} ...
关于java - 使用 DataInputStream 输入整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11598377/