JAVA/코드

포켓몬을 잡아라- 객체배열

record2080 2025. 1. 16. 00:53

 

포켓몬 자랑하기

void show() {

      int maxLevel=this.datas[0].getLevel();  //0번 인덱스를 최댓값 인덱스로 두고 최대레벨
      int maxExp=this.datas[0].getExp(); //경험치도 최대로
      int maxIndex=0;

      for(int i=1;i<count;i++) {

         if(this.datas[i].getLevel() > maxLevel) {
            maxIndex=i;
         }
         else if(this.datas[i].getLevel() == maxLevel) {
            if(this.datas[i].getExp() > maxExp) {
               maxIndex=i;
            }
         }
      }
      System.out.println(this.datas[maxIndex]);
   }

 

문제 : 포켓몬을 자랑할 수 있습니다

         레벨이 가장 높은 포켓몬 => 레벨이 같다면 경험치가 높은 포켓몬=>경험치가가 같다면 먼저 저장된 포켓몬

 

 

 처음한 한글코딩

void show- 인자는 포켓몬클래스에서 레벨과 경험치
포켓몬도감(배열)에서 레벨이 가장높은 포켓몬을 출력 :// 배열의 길이는 정해져 있다
(여러개중에서 한개를 출력)
만약 레벨이 같다면, 경험치가 높은 포켓몬 출력
만약 경험치가 같다면 먼저 저장된 포켓몬이 출력 

 

  바꾼 한글코딩

 만약 레벨과 경험치가 같다고 치고 우선순위는 레벨이고, 그다음은 경험치가 높은 포켓몬 

 만약 레벨이 같은 포켓몬이 있다면 경험치가 높은 포켓몬의 인덱스 출력

마지막 먼저 저장의 경우, 최댓값 찾기 알고리즘을 통해 i번(인덱스0번)이 최댓값이라고 가정하기 때문에 최소인덱스 번호가 먼저 저장된 포켓몬이기 때문에 따로 코드는 필요 없음.