QA@IT
«回答へ戻る

回答を投稿

最初に宣言してあるimport文のAPIが、このプログラムにおいてどのように作用するのか?というのがいまいち理解出来ません。

「いまいち理解できません」だと逆にどこまで理解しているか読み手にわかりません。これだけしか書いてないと「全然わかりません」と言っているのと同じなのです。BufferedReader, IOException, InputStreamReaderの機能やAPIの仕様を教科書なりAPI Documentなりを読みまずは自分で試すということをしてみてください。さもないと「この問題の答えを教えて」というまるなげ質問になってしまいます。

無限ループ中にキーボードからの入力???

出題者がいわんとしているのは、要するに以下です。

(1)「ある処理」を何度も繰り返しすプログラムを書きなさい。
(2)「ある処理」とは「キーボードから入力を受け取って受け取った文字列を出力する」です。
(3)キーボードから受け取った文字列が"END"の場合は繰り返しをやめます(つまりループから抜ける)

while (true) { ... }をもって無限ループといったりします。そういうループの内側にある処理を行うことを「無限ループの中である処理をする」といったりました。また、whileループの条件(trueと書いてあるところ)にあえて終了判定を書かずにwhileループの内側で終了判定をしbreak文によりループを終了することを「終了判定が成立したら無限ループを抜ける」などということがあります。要するに以下のような処理です。

  while (true) {
    ある処理
    if (終了判定) {
      break;
    }
  }

個人的には「ループを抜ける終了条件がちゃんとあるのだから無限ループじゃないじゃん」などと思ってしまいます。質問者さんもそういう意味で混乱されたのだと思います。

> 最初に宣言してあるimport文のAPIが、このプログラムにおいてどのように作用するのか?というのがいまいち理解出来ません。

「いまいち理解できません」だと逆にどこまで理解しているか読み手にわかりません。これだけしか書いてないと「全然わかりません」と言っているのと同じなのです。BufferedReader, IOException, InputStreamReaderの機能やAPIの仕様を教科書なりAPI Documentなりを読みまずは自分で試すということをしてみてください。さもないと「この問題の答えを教えて」というまるなげ質問になってしまいます。

> 無限ループ中にキーボードからの入力???

出題者がいわんとしているのは、要するに以下です。

(1)「ある処理」を何度も繰り返しすプログラムを書きなさい。
(2)「ある処理」とは「キーボードから入力を受け取って受け取った文字列を出力する」です。
(3)キーボードから受け取った文字列が"END"の場合は繰り返しをやめます(つまりループから抜ける)

`while (true) { ... }`をもって無限ループといったりします。そういうループの内側に`ある処理`を行うことを「無限ループの中で`ある処理`をする」といったりました。また、whileループの条件(trueと書いてあるところ)にあえて終了判定を書かずにwhileループの内側で`終了判定`をし`break`文によりループを終了することを「`終了判定`が成立したら無限ループを抜ける」などということがあります。要するに以下のような処理です。

```java
  while (true) {
    ある処理
    if (終了判定) {
      break;
    }
  }
```

個人的には「ループを抜ける終了条件がちゃんとあるのだから無限ループじゃないじゃん」などと思ってしまいます。質問者さんもそういう意味で混乱されたのだと思います。