近頃は、開発環境も無償で入手出来るようになってから久しいけれど、ちょこっとコードを試したい場合にいちいち環境を起ち上げて・・というのは面倒。

 

 

そんな時に、paiza.io™ はとても便利。様々な言語をインスタントに実行してチェックすることが出来ます。

paiza.io

特に、Java みたいなコンパイラ型の言語は本当に助かります。

ちょっとした動作のチェックのために、Eclipse を起ち上げたり、コマンドラインから実行したりはめちゃくちゃ面倒です。

でも・・コマンドラインから引数を渡した場合はどのようにしたら良いのかがわからなかったので、調べてみました。

 

コマンドラインの引数付でJavaを実行

下の画面は、paiza.io で Java のコードを入力する画面です。

paiza.io

いわゆる、Javaの典型的な雛形のようなコードです。ここに、試したいコードを入力して実行ボタンをクリックすることで実行できます。

Java で Hello World!

さて、ここで、Java の mainメソッド を見てみます。

public static void main(String[] args) {
    :
}

となっていて、args という文字列配列を受け取れるようになっています。これは、コマンドラインの引数が配列になって渡されてくるのですが、このままでは引数を渡すことができません。

そこで、プログラム実行時に引数を渡せるようにしてみます。

 

Java ではなく Bash スクリプトを作ることから始める

まず、paiza.io のページを開き直して、上部の言語選択ボタンで fileを選択します。

すると、Main.sh というファイル名でコード入力できるようになったと思います。次に、その横にあるfile をクリックしてファイルを一つ追加します。

次に、その新しくできたファイル(おそらく File1 となているはず)の名前をダブルクリックして、ファイル名を Main.java とします。

ちょっとっここで、Main.sh の方に戻って、echo "XXXXXXXX" の下辺りに次のようなコマンドを書いてみてください。

ls -al

入力を終えたら、file をクリックしてください。

すると、下部ペインの「出力」タブに、

file

こんな感じで出力されると思います。

当たり前といえば当たり前ですが、UNIXライクなディレクトリの内容がリストアップされていますね。どうやら、Ubuntu みたいです。

色々なファイルが並んでいますが、先程作成した Main.javaMain.sh も見えていると思います。

 

Java ファイルをコンパイルして実行する

そうしたら今度は、Main.java のタブに移って、コードエリアに次のようにコードを入力します。

import java.util.*;

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

再び、Main.sh

残っている内容は全部消してもらってもいいので、次のように入力します。

javac Main.java
java Main

1行目は、javac コマンドで Main.java をコンパイルしています。コンパイルが成功すると Main.class ファイルが作成されます。

2行目は、java コマンドで、Java VM を使ってMain クラスを実行します。

入力が終わったら、再び実行ボタンを押します。

Hello World!

と出力されれば成功です。

 

コマンドライン引数を Javaクラスに渡す

それでは、実際に Java プログラムに引数を渡してみましょう。

Main.sh タブを開いて、java Main の行を次のように変更します。

java Main AAA bbb CCCC dd ee FFF gg

次に、Main.java を開いて次のようにコードを変更します。

import java.util.*;

public class Main {
    public static void main(String[] args) {
        for (String s : args) {
            System.out.println(s.toUpperCase());
        }
    }
}

そして実行します。

出力タブに次のように表示されるはずです。

AAA
BBB
CCCC
DD
EE
FFF
GG

まとめ

これは、Java に限らず他の言語でも同様だと思われます。

それにしても、無料でこんなふうにしてWebサービス上で各言語の勉強ができる環境があるっていうのは、本当にすごいですね。いつも本当に助かってます。


 
記事を共有する

zaturendo

中小企業社内SE。

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。