Answer 01-1

Schoo Java入門 初級【2026年版】第1回対応:確認問題の模範解答と解説

このページは、Schooの「Java入門 初級【2026年版】」第1回ステップアップ学習記事「なぜクラスを分けるの?mainメソッドから考える役割分担」の確認問題に対する模範解答と解説です。

先に問題へ取り組んでから確認することを想定しています。

問題1:mainメソッドに直接表示処理を書く

FirstProgramを作成し、mainメソッドに直接表示処理を書きます。

模範解答

package lesson01;

public class FirstProgram {
    public static void main(String[] args) {
        System.out.println("はじめてのJava!");
    }
}

実行結果

はじめてのJava!

解説

Javaのプログラムを実行すると、最初にmainメソッドが呼び出されます。この例では、mainメソッドの中にあるSystem.out.printlnが実行され、文字が表示されます。

問題2:HelloPrinterを呼び出す

FirstProgram2HelloPrinterを作成し、HelloPrinter.print();で表示処理を呼び出します。

模範解答:FirstProgram2.java

package lesson01;

public class FirstProgram2 {
    public static void main(String[] args) {
        HelloPrinter.print();
    }
}

模範解答:HelloPrinter.java

package lesson01;

public class HelloPrinter {
    public static void print() {
        System.out.println("はじめてのJava!");
        System.out.println("mainとprintを分離");
    }
}

実行結果

はじめてのJava!
mainとprintを分離

解説

FirstProgram2はプログラムの入口です。実際の表示処理はHelloPrinterに分けています。HelloPrinter.print();は、「HelloPrinterクラスのprintメソッドを実行する」という意味です。

問題3:HelloPrinterだけを変更する

FirstProgram2は変更せず、HelloPrinterに表示文を1行追加します。

模範解答:HelloPrinter.java

package lesson01;

public class HelloPrinter {
    public static void print() {
        System.out.println("はじめてのJava!");
        System.out.println("mainとprintを分離");
        System.out.println("表示処理はHelloPrinterにまとめています");
    }
}

実行結果

はじめてのJava!
mainとprintを分離
表示処理はHelloPrinterにまとめています

解説

入口であるFirstProgram2は変えていません。表示担当のHelloPrinterだけを変えています。役割を分けておくと、変更したい場所を見つけやすくなります。

問題4:エラーを確認して修正する

わざとHelloPrinter.Print();と書くと、メソッド名が一致しないためエラーになります。

間違い例

HelloPrinter.Print();

エラーメッセージ例

The method Print() is undefined for the type HelloPrinter

修正後

HelloPrinter.print();

解説

Javaでは、printPrintは別の名前として扱われます。クラス名やメソッド名は、大文字と小文字も含めて正確に書く必要があります。

この演習で確認したいこと

  • mainメソッドはプログラムの入口である
  • 別クラスのメソッドはクラス名.メソッド名();で呼び出す
  • 役割を分けると、変更する場所を探しやすくなる
  • Javaでは大文字と小文字が区別される