본문 바로가기

프로그래밍 공부/Java

Java - 클래스(Class)와 객체(Object) 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import java.util.Scanner;
class Tank {
    String enterTank;
    String attack;
    String tankName;
    String missile;
    String ask;
    int cannon;
    
    // 탱크의 정보를 표시해주는 함수
    void tankInform(){
        if(enterTank.equals("All"|| enterTank.equals("all")){
            System.out.println("탱크 이름 : K1, 주포 종류 : 1단계, 미사일 미장착");
            System.out.println("탱크 이름 : K2, 주포 종류 : 2단계, 미사일 미장착");
            System.out.println("탱크 이름 : K3, 주포 종류 : 3단계, 미사일 장착");
        }else{
            if(enterTank.equals("K1"|| enterTank.equals("k1")){
                tankName = "K1";
                cannon = 1;
                missile = "미사일 미장착";
            }else if(enterTank.equals("K2"|| enterTank.equals("k2")){
                tankName = "K2";
                cannon = 2;
                missile = "미사일 미장착";
            }else if(enterTank.equals("K3"|| enterTank.equals("k3")){
                tankName = "K3";
                cannon = 3;
                missile = "미사일 장착";
            }else{
                System.out.println("ERROR!");
            }
            System.out.println("탱크 이름 : " + tankName + ", 주포 종류 : " + cannon + "단계, " + missile);
        }
    }
 
    // 탱크의 공격을 실행하는 함수
    void tankAttack(){
        if(attack.equals("K1"|| attack.equals("k1")){
            System.out.println("< K1 공격 >");
            System.out.println("주포 발사 : 펑");
        }else if(attack.equals("K2"|| attack.equals("k2")){
            System.out.println("< K2 공격 >");
            System.out.println("주포 발사 : 펑펑");
        }else if(attack.equals("K3"|| attack.equals("k3")){
            System.out.println("< K3 공격 >");
            System.out.println("주포 발사 : 콰쾅");
            System.out.println("미사일 발사 : 초전박살");
        }else if(attack.equals("All"|| attack.equals("all")){
            System.out.println("< K1 공격 >");
            System.out.println("주포 발사 : 펑");
            System.out.println();
            System.out.println("< K2 공격 >");
            System.out.println("주포 발사 : 펑펑");
            System.out.println();
            System.out.println("< K3 공격 >");
            System.out.println("주포 발사 : 콰쾅");
            System.out.println("미사일 발사 : 초전박살");
        }else{
            System.out.println("ERROR!");
        }
    }
}
public class Main {
    public static void main(String[] args) {
        Tank select = new Tank();
        Scanner scanner = new Scanner(System.in);
        do{    
            System.out.print("탱크의 정보를 보려면 탱크의 이름(K1, K2, K3 또는 All)을 입력하시오. : ");
            select.enterTank = scanner.next();
            System.out.println();
            select.tankInform();
            System.out.println();
            System.out.print("공격 메뉴로 가시겠습니까?(Y 또는 N입력) : ");
            select.ask = scanner.next();
        }while(select.ask.equals("N"|| select.ask.equals("n"));
        do{    
            System.out.print("공격할 탱크의 이름(K1, K2, K3 또는 All)을 입력하시오. : ");
            select.attack = scanner.next();
            System.out.println();
            select.tankAttack();
            System.out.println();
            System.out.print("재공격을 하시겠습니까?(Y 또는 N입력) : ");
            select.ask = scanner.next();
        }while(select.ask.equals("Y"|| select.ask.equals("y"));
        System.out.println("게임이 끝났습니다.");
    };
};
cs