実現したいこと
終了条件の無い複数行のデータを入力した後にプログラムを終了させたい。
例えばメモ帳などで用意した複数行の文字列データをコピペで貼り付けると全て読み取って処理された後にコンソールではずっと入力待機状態が続いてしまいます。
よくある問題などでは最初の1行目にデータが何行あるかの数値が与えられたりするのでその数値を条件に終了させられます。
終了条件が無いいつ終わるかわからない複数行の入力データを読み取った後にプログラムを終了させるにはどうすればいいでしょうか?
発生している問題
While(sc.hasNextLine())
で読取りが終了してループを抜けると思っていたのですがループを抜けていないので次の処理が実行できない。
該当のソースコード
java
1import java.util.Scanner; 2 3public class sample { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 String s = "" ; 7 while (sc.hasNextLine()) { 8 s += sc.nextLine(); 9 } 10 System.out.println(s); 11 } 12}
試したこと
どちらでも自動的には止まりませんでした。
java
1while (sc.hasNext()) { 2while (sc.hasNextLine()) {
実行環境
Eclipse 4.8
Java SE 8
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/24 22:52 編集
2018/08/24 22:53
2018/08/24 23:01