オブジェクト指向(基本3_2)

Java

お題

クラスの作り方とインスタンスの作り方を学ぼう

手順


◯新規ファイルMonkeyApp.javaを作成する。内容は以下

public class MonkeyApp {
	public static void main(String[] args) {
		

	}
}

◯MonkeyAppクラスの下にMonkeyクラスを作成する。記述は以下

public class MonkeyApp {

	public static void main(String[] args) {
		

	}

}
class Monkey{
	
}

以下はMonkeyクラスに記述していくこと

◯フィールド変数
String name;
int age;

◯コンストラクタ

  • 引数2つのコンストラクタを作成し 引数に入ってきた2つの値でthis.nameとthis.ageを初期化する

◯メソッド
//挨拶をするメソッド
こんにちはxxxx(xx才)です。よろしく!
と表示するgreetメソッドを作成する

public void greet(){}

//竹馬をするメソッド
xxxxは上手に竹馬にのった!
と表示するtakeumaメソッドを作成する

public void takeuma(){}

//逆立ちをするメソッド
xxxxはひょいと逆立ちをした!
と表示するsakadachiメソッドを作成する

public void sakadachi(){}

アプリケーションクラスの作成

mainメソッドの中で以下の実行例となるように処理を記述せよ。

[実行例]

おさるの名前を決めてください:>>トシ
おさるの歳を決めてください:>>3
おさるに何をさせますか?1…挨拶、2…竹馬、3…逆立ち、4…終了>>1
こんにちはトシ(3才)です。よろしく!
おさるに何をさせますか?1…挨拶、2…竹馬、3…逆立ち、4…終了>>2
トシは上手に竹馬にのった!
おさるに何をさせますか?1…挨拶、2…竹馬、3…逆立ち、4…終了>>3
トシはひょいと逆立ちをした!
おさるに何をさせますか?1…挨拶、2…竹馬、3…逆立ち、4…終了>>4
アプリケーションを終了します。

手順

  • Scannerインスタンスを作成し変数scに代入
  • 名前と歳をキーボードから入力する。
  • 名前と歳の情報でMonkeyインスタンスを作成する(変数名monkey)
  • whileループを用いて実行例のようになるように作成する

解答例


import java.util.Scanner;

public class MonkeyApp {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("おさるの名前を決めてください>>");
		String name= sc.next();
		System.out.print("おさるの歳を決めてください>>");
		int age= sc.nextInt();
		Monkey monkey = new Monkey(name,age);
		while(true) {
			System.out.print("おさるに何をさせますか?1…挨拶、2…竹馬、3…逆立ち、4…終了>>");
			int select = sc.nextInt();
			switch(select) {
			case 1 -> monkey.greet();
			case 2 -> monkey.takeuma();
			case 3 -> monkey.sakadachi();
			default -> { System.out.println("アプリケーションを終了します。");return;}
			}
		}
	}
}
class Monkey{
	String name;
	int age;
	public Monkey(String name,int age) {
		this.name=name;
		this.age=age;
	}
	public void greet() {
		System.out.printf("こんにちは%s(%d才)です。よろしく!%n", this.name,this.age);
	}
	public void takeuma() {
		System.out.printf("%sは上手に竹馬にのった!%n", this.name,this.age);
	}
	public void sakadachi() {
		System.out.printf("%sはひょいと逆立ちをした!%n", this.name,this.age);
	}

}
Java
スポンサーリンク
シェアする
mjpurinをフォローする

コメント

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