문제
TV 리모컨의 입력(전원, 상, 하, 좌, 우)에 따라 TV를 제어하는 문제입니다 이를 해결하는 프로그램의 다음 실행상태에 대해 빈칸을 채우세요
프로그램의 실행순서 및 실행상태
1 public static void main( String[] args ) {
3 new TV();
| | | | ON | | OFF | | clickPower(), clickUp(), clickDown(), ... | (obj01) |
| | | | power | | channel | | volume | | clickPower(), clickUp(), ... | |
| | main() | | | | | | | | | |
| tv | |
T1b public TV() {
T1e }
2 TV tv =
4 do {
5 result = scan.next();
TV 리모컨의 상, 하, 좌, 우, 전원, 종료 중 하나를 입력하세요 : 전원
6 if ( result.equals( "전원" ) )
7 tv.clickPower();
T2b public void clickPower() {
TV 전원을 켭니다
T2e }
16 } while( result.equals( "전원" ) || result.equals( "상" ) || result.equals( "하" ) || result.equals( "좌" ) || result.equals( "우" ) );
4 do {
5 result = scan.next();
TV 리모컨의 상, 하, 좌, 우, 전원, 종료 중 하나를 입력하세요 : 상
6 if ( result.equals( "전원" ) )
8 else if ( result.equals( "상" ) )
9 tv.clickUp();
T3b public void clickUp() {
현재 채널은 91번입니다
T3e }
16 } while( result.equals( "전원" ) || result.equals( "상" ) || result.equals( "하" ) || result.equals( "좌" ) || result.equals( "우" ) );
4 do {
16 } while( result.equals( "전원" ) || result.equals( "상" ) || result.equals( "하" ) || result.equals( "좌" ) || result.equals( "우" ) );
17 }
프로그램 코드
import java.util.Scanner;
import remoteControl.TV;
public class TVControl
{
1 public static void main( String[] args ) {
Scanner scan = new Scanner( System.in );
String result = "";
2 TV tv =
3 new TV();
4 do {
System.out.print( "TV 리모컨의 상, 하, 좌, 우, 전원, 종료 중 하나를 입력하세요 : ");
5 result = scan.next();
6 if ( result.equals( "전원" ) )
7 tv.clickPower();
8 else if ( result.equals( "상" ) )
9 tv.clickUp();
10 else if ( result.equals( "하" ) )
11 tv.clickDown();
12 else if ( result.equals( "좌" ) )
13 tv.clickLeft();
14 else if ( result.equals( "우" ) )
15 tv.clickRight();
16 } while( result.equals( "전원" ) || result.equals( "상" ) || result.equals( "하" ) || result.equals( "좌" ) || result.equals( "우" ) );
17 }
}
package remoteControl;
public interface RemoteControl
{
boolean ON = true, OFF = false;
void clickPower();
void clickUp();
void clickDown();
void clickLeft();
void clickRight();
}
package remoteControl;
import java.util.Scanner;
public class TV implements RemoteControl
{
private boolean power;
private int channel;
private int volume;
T1b public TV() {
this.power = OFF;
this.channel = 90;
this.volume = 10;
T1e }
@Override
T2b public void clickPower() {
if( this.power == OFF ) {
this.power = ON;
System.out.println( "TV 전원을 켭니다" );
}
else {
this.power = OFF;
System.out.println( "TV 전원을 끕니다" );
}
T2e }
@Override
T3b public void clickUp() {
System.out.println( "현재 채널은 " + ( ++this.channel ) + "번입니다" );
T3e }
@Override
T4b public void clickDown() {
System.out.println( "현재 채널은 " + ( --this.channel ) + "번입니다" );
T4e }
@Override
T5b public void clickLeft() {
System.out.println( "현재 음량은 " + ( --this.volume ) + "입니다" );
T5e }
@Override
T6b public void clickRight() {
System.out.println( "현재 음량은 " + ( ++this.volume ) + "입니다" );
T6e }
}