• ベストアンサー

Windowsでの標準入力の終了の仕方

Windowsでの標準入力の終了の仕方を教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

Ctrl+Zです。

Tamagawa
質問者

お礼

出来ました。 どうもありがとうございました。

その他の回答 (3)

回答No.3

うーん、入出力の単純なものは、クラスをいちいち、作らなくてもいいのでは?やりたいってなら別ですが。。。 わたしの、#1の回答そっくりそのままとやりたいことが、一緒のような気がするんで、もし良かったら、あのコードで、問題は解決すると思うんですが。。。 では、頑張って下さい。

Tamagawa
質問者

お礼

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.html
Tamagawa
質問者

補足

説明不足ですみません。 わたしのやっている事を説明すると まずプログラム入力中に標準入力から入力を行うためのクラス(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