LoginSignup
5

More than 5 years have passed since last update.

Eclipse で標準入力を受け取って実行する

Last updated at Posted at 2016-09-18

Paiza とかで Java の問題をやるとき、標準入力を受け取るためにわざわざ別にコンソールを開いて作業していました。

これ地味に面倒なんで Eclipse 単体で解決できないものかな、と思い調べてみたら見事にあったのでメモ。

ちなみに Eclipse 4.5 以降の機能のようです。

環境

  • Eclipse 4.6.0 (Neon)
  • Java

参考サイト

手順

前準備

以下のファイルを用意しておく。

  • 標準入力を受け取る、実行可能なプログラム
  • 標準入力に使うファイル

実行時コンフィグの設定

  1. Run → Run Configurations
  2. Java Application 下に設定を作成する
    • 存在しない場合は [New] ボタンを押すかダブルクリックで新規作成
    • 既に存在する場合はそれを選択
  3. Common タブ を開く
  4. Standard Input and Output 内の Input File を編集
    • [Wordspace] ボタンから先ほど標準入力用のファイルを選択
  5. [Apply]
  6. [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 行目とそれ以降の扱いに差はない
    • 最後は空行
  • 保存先はどこでもいいと思う
    • 個人的には {プロジェクト名}/src 直下に置いている
2
1,2
6,5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5