作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个输入:
aN b c
a1 a2 a3 ... aN
例如:
4 3 2
2 1 2 1 (I have here 'a' numbers, a = 4)
5 6 3
3 9 5 7 3 (I have here 'a' numbers, a = 5)
0 0 0
当 a 或 b 或 c 等于 0 时,我想停止读取输入。我尝试了以下方法:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
public class Test {
public static void main(String[] args) throws IOException {
InputStreamReader converter = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(converter);
String line = "";
int a = -1, b = -1, c = -1;
LinkedList<Integer> list = new LinkedList<>();
while (a != 0 && b != 0 && c != 0)
{
line = in.readLine();
String tmp[] = line.split(" ");
a = Integer.parseInt(tmp[0]);
b = Integer.parseInt(tmp[1]);
c = Integer.parseInt(tmp[2]);
System.out.println("a = " + a + ", b = " + b + ", c = " + c);
line = in.readLine();
list.clear();
tmp = line.split(" ");
for (int i = 0; i < tmp.length; i++) {
list.add(new Integer(Integer.valueOf(tmp[i])));
}
System.out.println("List = 4 3 2" + list);
}
}
}
但是通过这个简单的输入:
4 3 2
2 1 2 1
5 6 3
3 9 5 7 3
0 0 0
即使我输入 3 个零,我的程序仍然等待输入。如何改进?
编辑:
你误会了。我需要第二个读取行,因为我需要读取第二(第四、第六)行输入...
最佳答案
你有两行:
line = in.readLine();
因此,当在第一个 readLine()
处读取 3 个零时,您仍然会等待另一个。如果 a、b、c 中至少有一个为零,您可以更改顺序,或者在第一个 readline 之后使用 break
。
关于java - 如何在Java中读取这样的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14751843/
我是一名优秀的程序员,十分优秀!