Q.
1.Archerクラスを作成する。
フィールド
private static int totalArcher;
private int no;
コンストラクタ
public Archer(){
処理を書く
}
メソッド
public static int getTotalArcher(){
処理
}
2.ArcherAppクラスを作成し以下の処理を実現する。(作成したアーチャーは直後にゴミにしてよい)
[実行例]
操作を入力してください1…Archer生成,2…Archerの総数確認,3…終了>1
Archer1を生成しました。
操作を入力してください1…Archer生成,2…Archerの総数確認,3…終了>1
Archer2を生成しました。
操作を入力してください1…Archer生成,2…Archerの総数確認,3…終了>1
Archer3を生成しました。
操作を入力してください1…Archer生成,2…Archerの総数確認,3…終了>2
Archerクラスから3人のアーチャーが生成されました。
操作を入力してください1…Archer生成,2…Archerの総数確認,3…終了>3
アプリケーションを終了します。
[解答例]
●Archerクラス
public class Archer { private static int totalArcher; private int no; public Archer(){ totalArcher++; this.no=totalArcher; System.out.println("Archer"+this.no+"を生成しました。"); } public static int getTotalArcher(){ return totalArcher; } }
●ArcherAppクラス
import java.util.Scanner; public class ArcherApp { public static void main(String[] args) { Scanner scan=new Scanner(System.in); while(true){ System.out.print("操作を入力してください1...Archer生成,2...Archerの総数確認,3...終了>"); int select=scan.nextInt(); switch(select){ case 1: new Archer(); break; case 2: System.out.println("Archerクラスから"+Archer.getTotalArcher()+"人のアーチャーが生成されました。"); break; default: System.out.println("アプリケーションを終了します。"); scan.close(); return; } } } }
Q2
1.先程のArcherクラスに以下のインスタンスメソッドを追加する。
public void shootArrow(){ System.out.println("Archer"+this.no+"は矢を放った!"); }
2.ArcherApp2クラスを作成し、配列に10個のアーチャーインスタンスを格納し、以下の処理を実現せよ。
[実行例]
Archer1を生成しました。
Archer2を生成しました。
Archer3を生成しました。
Archer4を生成しました。
Archer5を生成しました。
Archer6を生成しました。
Archer7を生成しました。
Archer8を生成しました。
Archer9を生成しました。
Archer10を生成しました。
アーチャー番号を入力(1~10):5 [エンター]
Archer5は矢を放った!
[解答例]
●Archerクラス
public class Archer { private static int totalArcher; private int no; public Archer(){ totalArcher++; this.no=totalArcher; System.out.println("Archer"+this.no+"を生成しました。"); } public void shootArrow(){ System.out.println("Archer"+this.no+"は矢を放った!"); } public static int getTotalArcher(){ return totalArcher; } }
●ArcherApp2クラス
import java.util.Scanner; public class ArcherApp2 { public static void main(String[] args) { Archer[] archers=new Archer[10]; for(int i=0;i<archers.length;i++){ archers[i]=new Archer(); } System.out.print("アーチャー番号を入力(1~10):"); Scanner scan=new Scanner(System.in); int no=scan.nextInt(); archers[no-1].shootArrow(); scan.close(); } }
コメント