속성과 메서드 만들기
package e_oop;
public class AirCon {
//속성만들기
boolean power; //false로 초기화 되어 있음
int temprature = 24;
int windPower = 2;
//메서드 만들기(버튼 하나당 메서드 하나)
void power(){
if(power == true){//에어컨이 켜져있으면
power = false;//에어컨을 끄고
}else if (power == false){//에어컨이 꺼졌으면
power = true;//에어컨을 킨다
}
// power = !power; //반대로 저장하는 것(위를 한줄로 표현)
System.out.println(power? "에어컨이 켜졌습니다." : "에어컨이 꺼졌습니다.");
}
//온도 올리는 메서드
void tempratureUp(){
if(power){
if(temprature < 30){ // 30도보다 작을때만 증가 가능
temprature++;
}
System.out.println("현재 온도는"+temprature+"도 입니다.");
}
}
//온도를 내리는 메서드
void tempratureDown(){
if(power){//ture일때 전원이 켜지고
if(temprature > 18){ // 18도 보다 클때만 온도 감소 가능
temprature--;
}
System.out.println("현재 온도는"+temprature+"도 입니다.");
}
}
//바람 세기 조절 메서드
void changeWindPower(){//메서드를 실행하면
if(power){//ture일때 전원이 켜지고
if(++windPower > 3){ //기본 값이 2면 바람세기가 증가하여 바로 3이 출력됨
windPower = 1; //3보다 커지면 1로 돌아감
}
System.out.println("현재 바람세기는"+windPower+"단 입니다.");
}
}
}
출력하기
package e_oop;
import java.util.Scanner;
public class AirConTest {
public static void main(String[] args) {
AirCon ac = new AirCon();
while(true){
//while문은 참이면 조건식을 수행하고 거짓이면 문장을 벗어나는데 true값이 들어있으니까 반복해서 수행하는 것
System.out.println("1.전원\t2.온도+\t3.온도-\t4.바람세기\t0.종료");
int input = ScanUtil.nextInt(); //숫자입력받기
switch(input){//입력한 숫자가 가르키는 곳으로 조건문 수행
case 1: ac.power(); break;
case 2: ac.tempratureUp(); break;
case 3: ac.tempratureDown(); break;
case 4: ac.changeWindPower(); break;
case 0: System.out.println("프로그램을 종료합니다.");
System.exit(0);//시스템을 강제 종료시키는것(메인메서드 종료 -> 반복문 종료)
}
}
}
}