java - 停止键盘输入?

标签 java keyboard

Scanner s = new Scanner(System.in);
List<Integer> solutions = new LinkedList<>();
int o = 0;

while (o != 10) {        // I want to read 2 numbers from keyboard   
    int p = s.nextInt(); // until send and enter, this is where is my
    int c = s.nextInt(); //doubt
    int d = p + c;
    solutions.add(d);  
    o = System.in.read();
}

Iterator<Integer> solution = solutions.iterator();
while (solution.hasNext()) {
    int u = solution.next();
    System.out.println(u);
}

我遇到的问题是,如何发送 Enter 来结束循环?因为如果我输入另外 2 个数字,则 System.in.read() 会获取第一个数字,示例可能是,

条目:

2 3(输入)读取2个数字并求和

1 2(输入)读取2个数字并求和

(输入)这里结束循环,因为输入并且没有数字,并给出了解决方案

退出:

5

3

我不知道我之前发过帖子

最佳答案

读整行并自己解析。如果该行为空,则退出循环并结束程序。如果它不为空,则将该行传递给新的扫描仪。

List<Integer> solutions = new LinkedList<>();

Scanner systemScanner = new Scanner(System.in);
String line = null;

while ((line = systemScanner.nextLine()) != null && !line.isEmpty()) {
    Scanner lineScanner = new Scanner(line);
    int p = lineScanner.nextInt();
    int c = lineScanner.nextInt();
    int d = p + c;
    solutions.add(d);
}

Iterator<Integer> solution = solutions.iterator();
while (solution.hasNext()) {
    int u = solution.next();
    System.out.println(u);
}

关于java - 停止键盘输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35748445/

相关文章:

iphone - 如何在 iPhone、iOS 3.2 或更高版本上获取键盘 UIView

python - 在 Pygame 中获取键盘输入的更简单方法?

java - EasyMock 提示不是一个接口(interface)

java - 父类中的私有(private)字段 - java

java - Android - 从 MainActivity 调用方法到 Fragment

linux - 内核更新导致键盘布局改变无法解密luks加密

android - 获取软键盘的尺寸

java - Spring内部-成员实例注入(inject)澄清

java - 检查安卓 :allowBackup value programmatically

iphone - 文本未显示在 uitextview 中