Java | mainメソッドの基本

Java Java
スポンサーリンク

mainメソッドの理解をしっかり定着させるには、手を動かして「動かす・間違える・直す」のがいちばん。
ここでは、難易度別(初級 → 中級 → 発展) に整理した 全10問の練習問題セット を用意しました。
すべて コンパイルして動作確認できる完全コード例+解答+解説 付きです。


初級(基本を定着させる)

問題1:Hello, Java!

コマンドライン引数がなければ "Hello, Java!" を表示し、
あれば "Hello, <名前>!" を表示してください。

解答例

public class HelloJava {
    public static void main(String[] args) {
        if (args.length > 0) {
            System.out.println("Hello, " + args[0] + "!");
        } else {
            System.out.println("Hello, Java!");
        }
    }
}
Java

ポイント: args[0] は1つ目の引数。args.length で数を確認。


問題2:引数の数を数えよう

渡された引数がいくつあるかを表示してください。

解答例

public class CountArgs {
    public static void main(String[] args) {
        System.out.println("引数の数: " + args.length);
    }
}
Java

例:
java CountArgs A B C → 出力:引数の数: 3


問題3:足し算

引数で渡された2つの数を足して結果を表示してください。

解答例

public class AddArgs {
    public static void main(String[] args) {
        if (args.length != 2) {
            System.out.println("使い方: java AddArgs <数1> <数2>");
            return;
        }
        int a = Integer.parseInt(args[0]);
        int b = Integer.parseInt(args[1]);
        System.out.println("合計: " + (a + b));
    }
}
Java

中級(条件分岐・繰り返しの練習)

問題4:偶数・奇数判定

引数で受け取った整数が偶数か奇数かを判定してください。

解答例

public class EvenOdd {
    public static void main(String[] args) {
        if (args.length == 0) {
            System.out.println("整数を1つ入力してください。");
            return;
        }
        int num = Integer.parseInt(args[0]);
        if (num % 2 == 0) {
            System.out.println(num + " は偶数です。");
        } else {
            System.out.println(num + " は奇数です。");
        }
    }
}
Java

問題5:最大値を求めよう

複数の数値を引数で受け取り、その中の最大値を表示してください。

解答例

public class MaxValue {
    public static void main(String[] args) {
        if (args.length == 0) {
            System.out.println("少なくとも1つの整数を入力してください。");
            return;
        }
        int max = Integer.parseInt(args[0]);
        for (int i = 1; i < args.length; i++) {
            int n = Integer.parseInt(args[i]);
            if (n > max) max = n;
        }
        System.out.println("最大値: " + max);
    }
}
Java

問題6:逆順表示

引数で渡された文字列を逆順に表示してください。

解答例

public class Reverse {
    public static void main(String[] args) {
        for (int i = args.length - 1; i >= 0; i--) {
            System.out.print(args[i]);
            if (i > 0) System.out.print(" ");
        }
        System.out.println();
    }
}
Java

例:
java Reverse A B C → 出力:C B A


問題7:九九の段

1〜9の整数を1つ受け取り、その段の九九を表示してください。

解答例

public class Kuku {
    public static void main(String[] args) {
        if (args.length == 0) {
            System.out.println("1〜9の整数を入力してください。");
            return;
        }
        int dan = Integer.parseInt(args[0]);
        for (int i = 1; i <= 9; i++) {
            System.out.println(dan + " × " + i + " = " + (dan * i));
        }
    }
}
Java

発展(文字列操作・配列・条件分岐の応用)

問題8:単語検索

複数の単語を引数で受け取り、その中に "Java" が含まれているかを判定。

解答例

public class FindJava {
    public static void main(String[] args) {
        boolean found = false;
        for (String s : args) {
            if (s.equalsIgnoreCase("Java")) {
                found = true;
                break;
            }
        }
        if (found) {
            System.out.println("「Java」が含まれています!");
        } else {
            System.out.println("「Java」は見つかりませんでした。");
        }
    }
}
Java

問題9:平均値を求めよう

複数の整数を受け取り、その平均値(小数あり)を表示してください。

解答例

public class Average {
    public static void main(String[] args) {
        if (args.length == 0) {
            System.out.println("整数を入力してください。");
            return;
        }
        int sum = 0;
        for (String s : args) {
            sum += Integer.parseInt(s);
        }
        double avg = (double) sum / args.length;
        System.out.println("平均値: " + avg);
    }
}
Java

問題10:単語を大文字に変換

引数で渡された単語をすべて大文字に変換して表示してください。

解答例

public class Upper {
    public static void main(String[] args) {
        for (String s : args) {
            System.out.print(s.toUpperCase() + " ");
        }
        System.out.println();
    }
}
Java

練習セットの活用方法

  1. 1つの .java ファイルに1問ずつ書く(例:MaxValue.java)。
  2. コマンドでコンパイル javac MaxValue.java
  3. 実行(クラス名のみ指定) java MaxValue 10 20 5
  4. 結果を確認し、args の内容を System.out.println(Arrays.toString(args)); などで表示してみると理解が深まります。

どちらの形式がいいですか?

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