私は現在、ハーバート・シルトによるJava:The Complete Reference8thEditionを使用しています。私は最近の計算機科学の卒業生であり、初心者のプログラマーです。
I / Oの章では、この本はサンプルコードの小さな断片を示しています(以下にそれを含めました)。このコードは、引数としてInputStreamReader(System.in)で提供されるBufferedReaderを作成します(6行目)。Java SE7のドキュメントでInputStreamReaderを確認したところ、「[...]バイトを読み取り、文字にデコードする[...]」と表示されています。私の質問は、サンプルコードの9行目の「c」にbr.read()を割り当てるときに、なぜbr.read()をcharとしてキャストする必要があるのか(または必要なのか)です。
何卒よろしくお願い申し上げます。
ジェイミー
1. import java.io.*
2.
3. class BRRead {
4. public static void main(String args[]) throws IOException {
5. char c;
6. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
7. System.out.println("Enter characters, 'q' to quit.");
8. do {
9. c = (char) br.read();
10. System.out.println(c);
11. } while(c != 'q');
12. }
13. }