使用 System.in.read() 循环输入,直到输入为 -1(EOF)以阻止 Java 停止读取数组。具体步骤包括:使用 System.in.read() 逐个字节读取输入。将字节转换为 char 以获得输入字符。将字符存储在字符数组中。检查返回的值是否为 -1,表示已达到文件末尾(EOF),从而停止读取。

如何阻止 Java 停止输入数组
直接答案:使用 System.in.read() 循环输入,直到输入为 -1(EOF)。
详细说明:
在 Java 中,使用 Scanner 类读取用户输入数组时,遇到空行或特定分隔符时,输入会自动停止。为了防止自动停止输入,可以使用以下步骤:
立即学习“Java免费学习笔记(深入)”;
-
使用
System.in.read()循环读取:-
System.in.read()从标准输入读取一个字节,并返回该字节的整数值。 - 您可以使用循环,逐个字节读取输入,直到输入为 -1(EOF,End-Of-File)。
-
-
将字节转换为 char:
-
System.in.read()返回的是字节,需要将其转换为 char 以获得输入字符。 - 使用
(char) System.in.read()将字节转换为字符。
-
-
将字符存储在数组中:
- 逐个字符读取输入,并将其存储在字符数组中。
- 使用循环或其他数据结构来存储字符。
-
检测 EOF:
- 当
System.in.read()返回 -1 时,表示已到达文件末尾(EOF)。 - 在循环中,检查返回的值是否为 -1,如果为 -1,则停止读取。
- 当
以下是使用 System.in.read() 读取数组的示例代码:
import java.io.IOException;
public class ArrayInput {
public static void main(String[] args) throws IOException {
// 创建字符数组
char[] inputArray = new char[100];
// 从标准输入读取字符
int index = 0;
int inputChar;
while ((inputChar = System.in.read()) != -1) {
// 将字节转换为 char
char ch = (char) inputChar;
// 存储字符
inputArray[index++] = ch;
}
// 打印输入数组
System.out.println(inputArray);
}
}











