1
我必須解決的一個問題:http://www.urionlinejudge.com.br/judge/problems/view/1117的Java BufferedReader類的readLine方法不返回任何
我的代碼,當代碼到達最後一行的方法的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();
}
}
那麼它一直等到它有換行或者知道它已經到達輸入的末尾,是的。這就是它的意義所在。 –
您的指示說要從文件中讀取輸入,爲什麼不使用FileInputStream呢?使用FileInputStream可以更容易地找出輸入結束的時間。 –
@SimonAndréForsberg比readLine()更容易返回null嗎?更容易如何? – EJP