Paiza とかで Java の問題をやるとき、標準入力を受け取るためにわざわざ別にコンソールを開いて作業していました。
これ地味に面倒なんで Eclipse 単体で解決できないものかな、と思い調べてみたら見事にあったのでメモ。
ちなみに Eclipse 4.5 以降の機能のようです。
環境
- Eclipse 4.6.0 (Neon)
- Java
参考サイト
手順
前準備
以下のファイルを用意しておく。
- 標準入力を受け取る、実行可能なプログラム
- 標準入力に使うファイル
実行時コンフィグの設定
- Run → Run Configurations
- Java Application 下に設定を作成する
- 存在しない場合は [New] ボタンを押すかダブルクリックで新規作成
- 既に存在する場合はそれを選択
- Common タブ を開く
- Standard Input and Output 内の Input File を編集
- [Wordspace] ボタンから先ほど標準入力用のファイルを選択
- [Apply]
- [Run]
以降、設定したファイルを自動で読み込んで、標準入力に流しながら実行するようになる。
サンプル
Eclipse のバージョンや設定によってうまく動作しないこともあるようなので、正常に動いた例を一応置いておく。
Main クラス
- 受け取った標準入力の内容を丸ごとコンソールに出力する単純仕様
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
while (buffer.ready()) {
String line = buffer.readLine();
System.out.println(line);
}
}
}
データ
- Paiza でよくある例
- 1 行目がデータ本体の行数
- ただし、上記のコードでは別に 1 行目とそれ以降の扱いに差はない
- 最後は空行
- 1 行目がデータ本体の行数
- 保存先はどこでもいいと思う
- 個人的には
{プロジェクト名}/src
直下に置いている
- 個人的には
2
1,2
6,5