お題
クラスの作り方とインスタンスの作り方を学ぼう
手順
◯新規ファイル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);
}
}

コメント