No.3
- 回答日時:
うーん、入出力の単純なものは、クラスをいちいち、作らなくてもいいのでは?やりたいってなら別ですが。
。。わたしの、#1の回答そっくりそのままとやりたいことが、一緒のような気がするんで、もし良かったら、あのコードで、問題は解決すると思うんですが。。。
では、頑張って下さい。
readlineに変更してみたのですが前と同じように続いてしまいました(まだ他にも改善する点があったんでしょうか?)
でも少し勉強になったのでよかったと思います。
どうもありがとうございました。
No.2
- 回答日時:
分かりました。
まず、Tamagawaさんのプログラムのやっていることを1番初めから見ると、
class Copy {
public static void main(String[] args) {
String s;
while ((s = Cin.getLine()) != null) { /////ここの時点、おかしいです。
System.out.println(s);
}
}
}
class Copyのメインメソッドで、while (( s = Cin.getLine() )! = null) System.out.println
についてですが、これでは、ずーっと、無限にgetLineメソッドが呼び出されてしまいます。getLine()はreadLine()を使っています。
readLineは、まず入力を促します。それが、nullでなければ、ループは、終わらないと言うことですよね。
nullだったら、whileをやめようとするんですよね。
と言うことは、プログラムはまず、readLineで、入力を促し、それから条件判断を下します。
No.1
- 回答日時:
???言っている事がよく分からないんですが、以下の説明でよろしければ。
。。import java.io*; //入出力クラスのインポート
class Sample105
{
public static void main(String args[]){
System.out.println("好きな言葉は?");
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
System.out.println("好きな言葉は" + str + "ですね。");
}
catch(IOException e)
{
System.out.println("入出力エラー");
}
}
}
この場合、DOS画面に好きな言葉を入力し、エンターキーを押せば、その時点で、標準入力は終了しますが?言ってる意味違いますかね?
参考URL:http://www.h5.dion.ne.jp/~tuyano/JavaTutor/index …
この回答への補足
説明不足ですみません。
わたしのやっている事を説明すると
まずプログラム入力中に標準入力から入力を行うためのクラス(Cin)を定義します
import java.io.*;
class Cin {
private static BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
public static String getLine() {
String s = "";
try {
s = in.readLine();
} catch (IOException e) {
System.out.println("IO error!");
System.exit(1);
}
return s;
}
}
次にそのクラスを使って,標準入力を標準出力にコピーするアプリケーション(Copy)を作成しました。
class Copy {
public static void main(String[] args) {
String s;
while ((s = Cin.getLine()) != null) {
System.out.println(s);
}
}
}
これをコンパイルし実行してみたのですが
(たとえば)
C:\java>java Copy《return》
Hello《return》 //Helloと入力しreturnキーを押す
Hello
World!《return》 //Worldと入力しreturnキーを押す
World!
というふうにちゃんとコピーは出来ているのですが、さらに入力を聞いてくるのです。
どうしたら終了できるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java 年数計算 3 2023/01/28 10:52
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- 高齢者・シニア Windows11適用の最低性能に満たないPC利用者がサポート終了でパソコンを買い替えるでしょうか? 2 2023/05/27 06:43
- セキュリティソフト 市販ウイルスソフトは入れる必要ある?? (Windows10) 6 2022/04/08 15:23
- セキュリティソフト 結局のところWindows PCに有料のセキュリティ対策ソフトは必要だと思いますか? 8 2022/06/01 11:00
- Windows 10 WIN10 標準の WEBカメラの性能 解像度 2 2023/07/12 16:50
- その他(ソフトウェア) Windows 10ですがスマホのアプリを動かすエミュレーターで良いというものを教えてください 基本 1 2022/03/27 22:56
- その他(ブラウザ) Windows(Edge)標準の音声読み上げを綺麗に録音したい。 1 2023/04/30 07:52
- 知的財産権 著作権はどこまで? 2 2023/01/22 12:48
- Android 最近、僕の質問に回答が付かない。 地球儀マークのAndroid標準ブラウザどうしても使いたいのにどの 2 2022/12/06 12:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[JAVA]エラーが解決できません。
-
csv出力について
-
Java int sum = 0は必要ですか?
-
yyyymmddからyyyy/mm/d...
-
linuxでapache poiが動かない。
-
ObjectInputStreamとStreamCorr...
-
テキストファイルから空白行をよむ
-
Windowsでの標準入力の終了の仕方
-
Servletでテキストボックスに入...
-
Javaの質問です。
-
Javaの質問です。テキストファ...
-
Java初心者です。csvファイルの...
-
ソケットを使ったサーバとクラ...
-
javaプログラミング
-
InputStream.read()でタイムア...
-
Class.forNameでエラーになる
-
equalsの逆
-
JSPからパラメータを取得してサ...
-
Javaでデータに登録する度にID...
-
以下のJAVAプログラムでご質問...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
yyyymmddからyyyy/mm/d...
-
equalsの逆
-
csv出力について
-
九九を横に表示する。
-
テキストファイルから空白行をよむ
-
Java int sum = 0は必要ですか?
-
[JAVA]エラーが解決できません。
-
javaのfor文が機能してないみた...
-
InputStream.read()でタイムア...
-
Servletでテキストボックスに入...
-
Javaでデータに登録する度にID...
-
Inputstreamについて
-
BufferedReaderでのエラー
-
FileクラスのcanRead/canWrite...
-
java連結
-
Java 読み込んだテキストファイ...
-
Javaの質問です。テキストファ...
-
テキストファイルの任意の文字...
-
Class.forNameでエラーになる
-
テキストファイルにおいて任意...
おすすめ情報