본문 바로가기
카테고리 없음

Java (객체지향_Television)

by hjshims 2021. 5. 21.

 

package p0521Television2;

import java.util.Scanner;

public class TelevisionEx {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		Television tv = new Television();

		while (true) {
			System.out.println(tv); // toString()메소드 - 현재TV상태
			tv.menu_prt(); // 메뉴
			
			int click = scan.nextInt();

			switch (click) {
			case 1:
				tv.power_onoff();
				break;
			case 2:
				tv.ch_up();
				break;
			case 3:
				tv.ch_down();
				break;
			case 4:
				tv.vol_up();
				break;
			case 5:
				tv.vol_down();
				break;
			case 6:
				tv.end();	// fasle,0,0 으로 초기화
				break;
			}
		}
	}

}
package p0521Television2;

import java.util.Scanner;

public class Television {
	Scanner scan = new Scanner(System.in);
	/*필드 정의*/
	boolean isON;
	int channel;
	int volume;
	int click;

	/* 메소드 정의 */
	void TV() {
		isON = false;
		channel = 0;
		volume = 0;
	}

	void power_onoff() { // 1. 전원버튼
		if (isON != true) {
			System.out.println("전원이 켜졌습니다.");
			isON = true;
		} 
		else {
			System.out.println("전원이 꺼졌습니다.");
			isON = false;
			TV();	//전원 꺼지면 초기화
		}
	}

	void ch_up() { // 2. 채널 업
		if (isON == true) {
			channel++;
		} 
		else {	//전원off때
			System.out.println("잘못된 입력값입니다.");
			channel = 0;
		}
	}

	void ch_down() { // 3. 채널 다운
		channel--;
		if (channel < 0) {
			System.out.println("잘못된 입력값입니다.");
			channel = 0;
		}
	}

	void vol_up() { // 4. 볼륨 업
		if (isON == true) {
			volume++;
		}
		else {	//전원off때
			System.out.println("잘못된 입력값입니다.");
			volume = 0;
		}
	}

	void vol_down() { // 5. 볼륨 다운
		volume--;
		if (volume < 0) {
			System.out.println("잘못된 입력값입니다.");
			volume = 0;
		}
	}

	void end() { // 6. 종료
		System.out.println("TV가 꺼졌습니다.");
		isON = false;
		channel = 0;
		volume = 0;
	}

	void menu_prt() {
		System.out.println("1. 전원버튼\n2. 채널 업\n3. 채널 다운\n4. 볼륨 업\n5. 볼륨 다운\n6. 종료");
		System.out.print("메뉴를 선택하세요>> ");
		//click = scan.nextInt();
	}

	public String toString() { // 객체의 상태를 문자열로 반환하는 메소드
		System.out.println("현재 TV 상태");
		return "전원: " + isON + " 채널: " + channel + " 볼륨: " + volume + "\n";
	}
}

 

<출력결과>