Java(オブジェクト指向1)

Java

Q.Monkeyクラスを作成し、MonkeyAppクラスから以下の処理を実現せよ。(アクセス性はすべてpublicでよい)
[実行例]
おさるの名前を決めてください:>トシ
おさるの歳を決めてください:>3
おさるに何をさせますか?1…挨拶、2…竹馬、3…逆立ち、4…終了>1
こんにちはトシ(3才)です。よろしく!
おさるに何をさせますか?1…挨拶、2…竹馬、3…逆立ち、4…終了>2
トシは上手に竹馬にのった!
おさるに何をさせますか?1…挨拶、2…竹馬、3…逆立ち、4…終了>3
トシはひょいと逆立ちをした!
おさるに何をさせますか?1…挨拶、2…竹馬、3…逆立ち、4…終了>4
アプリケーションを終了します。

[解答例]
●Monkey.java

package javalessons;
public class Monkey {
	/****フィールド変数****/
	public String name;
	public 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);
	}
	//逆立ちをするメソッド
	public void sakadachi(){
		System.out.printf("%sはひょいと逆立ちをした!\n",this.name);
	}
}


●MonkeyApp.java

import java.util.Scanner;
public class MonkeyApp {
	public static void main(String[] args) {
		//スキャナーインスタンスを生成
		Scanner scan =new Scanner(System.in);
		//名前をきく
		System.out.print("おさるの名前を決めてください:>");
		String name=scan.next();
		//歳をきく
		System.out.print("おさるの歳を決めてください:>");
		int age=scan.nextInt();
		//Monkeyインスタンス生成
		Monkey monkey=new Monkey(name,age);
		//繰り返し処理
		while(true){
			System.out.print("おさるに何をさせますか?1...挨拶、2...竹馬、3...逆立ち、4...終了>");
			int select =scan.nextInt();
			switch(select){
			case 1:
				monkey.greet();
				break;
			case 2:
				monkey.takeuma();
				break;
			case 3:
				monkey.sakadachi();
				break;
			default:
				System.out.println("アプリケーションを終了します。");
				scan.close();
				//リターンでメソッドを抜ける(mainメソッドを抜けて終了)
				return;		
			}
		}	
	}
}

コメント

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