BufferedReaderクラスのドキュメントを読んでいてちょっと不安になったから質問を。
学校の課題で、C言語のscanfに対応する関数として、以下のようなものを教授から渡されて使っています。

String read() {
  BufferedReader reader = new BufferedReader( new java.io.InputStreamReader(System.in) );
  return reader.readLine();
}

例外とかは省いていますが、この関数ではreader.close()を呼び出していないのですが、
これで問題はないのでしょうか?