実技(Javaプログラミング実習2)13

1.メソッド復習(戻り値)

これでダメならあきらめよう。Javaメソッド最終入門2


2.メソッド復習
3.メソッド復習
4.クラス復習
○ColorPencil.java


public class ColorPencil {
	//フィールド
	String color;
	int length;
	
	//コンストラクタ
	ColorPencil(String color){
		this.length=10;
		this.color=color;
	}
	//メソッド
	void write(){
		if(this.length <=0){
			System.out.println("もうかけません!");
			return;
		}
		System.out.println(this.color+"で書いた。");
		this.length--;
	}
	void  showInfo(){
		System.out.printf("color:\"%s\",長さ:%d%n", this.color,this.length);
	}
	
}

○ColorPencilMain.java


public class PencilMain {

	public static void main(String[] args) {
		
		ColorPencil penRed=new ColorPencil("赤");
		penRed.write();
		penRed.showInfo();
		
		ColorPencil penBlue=new ColorPencil("青");
		penBlue.write();
		penBlue.showInfo();
	}
}

5.クラス演習
問)ColorPencilクラスを用いて以下の処理を実現せよ。
赤、青、黄の3本の鉛筆を作成し以下の処理を実現する。
[実行例]
何色で書く赤[0],青[1],黄[2],終了[3]>1 [enter]
青で書いた
color:”青”,長さ:9
何色で書く赤[0],青[1],黄[2],終了[3]>2 [enter]
黄で書いた
color:”黄”,長さ:9
何色で書く赤[0],青[1],黄[2],終了[3]>1 [enter]
青で書いた
color:”青”,長さ:8
何色で書く赤[0],青[1],黄[2],終了[3]>3 [enter]
アプリを終了します。

解)

import java.util.Scanner;

public class ColorPencilMain {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		ColorPencil redPen = new ColorPencil("赤");
		ColorPencil bluePen = new ColorPencil("青");
		ColorPencil yellowPen = new ColorPencil("黄");

		while (true) {
			System.out.print("何色で書く赤[0],青[1],黄[2],終了[3]>");
			int select = scan.nextInt();
			switch (select) {
			case 0:
				redPen.write();
				redPen.showInfo();
				break;
			case 1:
				bluePen.write();
				bluePen.showInfo();
				break;
			case 2:
				yellowPen.write();
				yellowPen.showInfo();
				break;
			default:
				System.out.println("アプリケーションを終了します");
				return;
			}
		}
	}
}