【发布时间】:2016-11-23 02:44:00
【问题描述】:
我正在使用 Java 来解释一些输入。我正在使用 BufferedReader。我的目标是在读取一个字符后读取一定数量的行,其中 -1 是停止命令。像这样的
2
CASE 1 - L1
CASE 1 - L2
3
CASE 2 - L1
CASE 2 - L2
CASE 2 - L3
-1
我的目标只是作为输出:
CASE 1 - L1
CASE 1 - L2
CASE 2 - L1
CASE 2 - L2
CASE 2 - L3
这意味着我以正确的方式获得了线路。我的代码如下:
public class TESTE {
public static void main(String[] args) throws IOException {
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
int state;
while ((state = buffer.read()) != 45) {
char c = (char) state;
if (Character.isDigit(c)) {
int n = Character.getNumericValue(c);
for (int i = 0; i < n; ++i) {
System.out.println("L:" + buffer.readLine());
System.out.println();
}
}
}
}
}
由于某种原因,我的输出是:
L:
L:CASE 1 - L1
L: - L2
L:
L:CASE 2 - L1
L:CASE 2 - L2
L: - L3
我做错了什么?是否有一种优雅的方式来处理该输入?
【问题讨论】:
标签: java input bufferedreader