Java BufferedReader readLine 方法不返回任何内容

标签 java console java-io

我有一个问题需要解决:http://www.urionlinejudge.com.br/judge/problems/view/1117

使用我的代码,当代码到达最后一行时,readLine 方法不会返回任何内容。它等待我输入另一行输入。

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class ValidacaoDeNota {
   public static void main(String[] args) throws IOException {
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

      String line = null;
      double num;

      Double ultimaNotaValida = null;

      while ((line=br.readLine()) != null) {
         num = Double.parseDouble(line);

         if (num < 0 || num > 10) {
            bw.write("nota invalida");
         } else if (ultimaNotaValida == null) {
            ultimaNotaValida = num;
         } else {
            bw.write("media = " + ((ultimaNotaValida+num) / 2) );
         }

         bw.write("\n");
      }

      bw.flush();
   }
}

最佳答案

您需要输入 Ctrl/d (Windows) 或 Ctrl/z(Unix、Linux 等)才能在控制台产生流结束。然后 readLine() 将返回 null 并且循环将终止。

关于Java BufferedReader readLine 方法不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18537781/

相关文章:

java - 如何在 Java String 中存储 EBCDIC (IBM-1047) 编码文本而不破坏它?

java - 简单java归档代码中的FileNotFound异常错误

java - 传递字符串对象时使用 apache poi 格式化日期

java - Java 中 iReport 5.5.1 的异常

c++ - 控制台上的陷阱退出

c++ - 用于显示文本模式菜单的库?

java - 如何从 Ubuntu 中删除 default-jre java 安装?

java - Apache Camel -- Hazelcast 主题发布/订阅 -- 如何在订阅者中序列化字符串消息

javascript - CHROME中的自调用函数未捕获到TypeError

java - 如何获取通过在工作目录中仅设置文件名来实例化的 File 的 File.getParent() ?