Javaのコマンドライン引数でint型を扱う方法

結論

結論からいうとJavaのコマンドライン引数ではString型しか受け取れません。よってString型で受け取ったコマンドライン引数をプログラム内でint型に変換して扱うことになるかと思います。

実際のプログラムを書いて解説していきます。実行環境は以下の通りです。

  • MacOS Catalina 10.15.7
  • JavaSE8 ビルド1.8.0_251-b08

現役エンジニアが教えるJava初心者からWebアプリ開発できるようになるまでの勉強法>>>

簡単なプログラムで確認する

class Sample {
    public static void main(String[] args) {
        int num1 = Integer.parseInt(args[0]);
        int num2 = Integer.parseInt(args[1]);

        System.out.println("num1 = " + num1);
        System.out.println("num2 = " + num2);
    }
}

Sample.javaを作成し上記のようなプログラムを作成しました。コマンドライン引数を二つ受け取りInteger.pparseIntメソッドを使うことでString型の値をint型に変換しています。そして変換した値をそれぞれnum1, num2に代入し、printlnを使って出力しています。

 

実行してみる

先ほど作ったプログラムを実行してみます。まずはコンパイルします。

javac Sample.java

コンパイルエラーが出なければOKです。そのまま実行のコマンドを入力します。

java Sample 57 89

上記のようなコマンドライン引数を渡した場合の実行結果は以下の通りです。

num1 = 57
num2 = 89

まとめ

Javaのコマンドライン引数でint型の値を渡したい場合はString型の値をInteger.parseIntメソッドを使ってint型に直す必要があります。

関連記事

コメント

タイトルとURLをコピーしました