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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
InputStream.read()でタイムア...
-
equalsの逆
-
JAVAでエラーがでる。
-
以下のJAVAプログラムでご質問...
-
java連結
-
C言語のポインターに関する警告
-
System.err. printlnとSystem.o...
-
JavaScriptの変数をjavaのメソ...
-
ORA-01858: 数値を指定する箇所...
-
VBAで配列の計算
-
javaで質問です。 文字列2023/2...
-
JScrollPaneで、表示がおかしく...
-
JavaScriptを使ってロト6の当...
-
streamで送信されたArrayListを...
-
JavaScriptとVBScriptに関して
-
IF関数でEmpty値を設定する方法。
-
動的配列が存在(要素が有る)か...
-
ループ処理の際、最後だけ","を...
-
オブジェクトの中のプロパティ...
-
1~100までの数字を表示したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
csv出力について
-
yyyymmddからyyyy/mm/d...
-
テキストファイルから空白行をよむ
-
BufferedReaderでのエラー
-
Javaの質問です。テキストファ...
-
equalsの逆
-
戻り値を使用する呼出
-
JAVAでエラーがでる。
-
FileクラスのcanRead/canWrite...
-
Java 出席状況を表す文字列から...
-
Javaでデータに登録する度にID...
-
ファイルの読み飛ばしが出来ま...
-
九九を横に表示する。
-
javaのfor文が機能してないみた...
-
Javaの質問です。テキストファ...
-
Servletでテキストボックスに入...
-
java連結
-
java.lang.NoClassDefFoundErro...
-
拡張子の読み込み制限を設けた...
-
[JAVA]エラーが解決できません。
おすすめ情報