매개변수를 사용해서 전사가 매번 다르게 공격하기

인철·2023년 10월 13일
1

algorithm

목록 보기
27/91

매개변수 활용 문제

class Main {
  public static void main(String[] args) {
    전사 a전사 = new 전사();

    a전사.공격(/* 수정가능지역 시작 */ "브라이언", "칼" /* 수정가능지역 끝 */); 
    // 브라이언이(가) 칼(으)로 공격합니다.
    //매개변수 대입 ("공격자", "무기")
    a전사.재공격();
    // 브라이언이(가) 칼(으)로 공격합니다.

    a전사.공격(/* 수정가능지역 시작 */ "필립", "창" /* 수정가능지역 끝 */); 
    // 필립이(가) 창(으)로 공격합니다.

    a전사.공격(/* 수정가능지역 시작 */  "마크", "지팡이" /* 수정가능지역 끝 */); 
    // 마크(가) 지팡이(으)로 공격합니다.

    a전사.재공격();
    // 마크(가) 지팡이(으)로 공격합니다.

    a전사.재공격();
    // 마크(가) 지팡이(으)로 공격합니다.
  }
}

class 전사{ //클래스를 만들고
  String 마지막_공격자;    //----> 데이터백업
  String 마지막_무기;    //----> 데이터백업
  

  void 공격(String 공격자, String 무기){ //매개변수 대입
    
    this.마지막_공격자 = 공격자; // ----> 데이터저장
    this.마지막_무기 = 무기;      // ----> 데이터저장


    
    //System.out.println(공격자 + "가" + 무기 + "로 공격합니다"); 정답가능
    //System.out.printf("%s(가) %s로 공격합니다.\n", 공격자, 무기); 정답가능

    재공격();  //제일 깔끔한 정답
						   //재공격 출력을 하고 다시 위로 올라와서 데이터를 불러와 출력을 해준다
  }
  
  void 재공격(){
    String 공격자 = this.마지막_공격자;
    String 무기 = this.마지막_무기;

    System.out.printf("%s(가) %s로 공격합니다.\n", 마지막_공격자, 마지막_무기);
  } 
}

//지역변수의 특징 (매개변수 포함)
//함수가 시작하면 실행이 되고 끝나면 사라진다
profile
같은글이있어도양해부탁드려요(킁킁)

0개의 댓글