어차피 2의 ~승은 정수 아닌가요?? 그런데 캐스팅안하면 오류가 나서 궁금하네요! 감사합니다! 아 그리고 피드백 창은 따로 있지만 페북 프로필이 공개되는게 부담스러워서 여기에 남깁니다! 매 강의마다 마지막 체크 문제 풀 때 다시풀기 버튼이 없고 어떤 걸 틀렸는지 알 수 없어서 다시풀려면 [f5] 해야하는게 조금 아쉬웠습니다! 그리고 실습 문제 풀 때 바로 다음 문제로 가는 화살표 버튼 있으면 더욱 더 편할 것 같습니다. 잘 배우고 있습니다~ 감사합니다^^. # 박테리아 #### CODE <a class='btn btn-default' href='/codes/17288'>Link</a> ``` public class Bacteria { public static void main(String[] args) { // 배열 생성 int[] bacteriaCountLogs = new int[10]; // 개체 수 기록 writeLog(bacteriaCountLogs); // 결과 출력 printLog(bacteriaCountLogs); } // 박테리아의 개체 수를 기록 public static void writeLog(int[] logs) { /* 해당 메소드를 완성하세요. */ for (int i = 0; i < logs.length; i++){ logs[i] = (int) Math.pow(2, i); } } // 배열을 입력받아, 해당 요소를 모두 출력 public static void printLog(int[] arr) { System.out.printf("["); for (int i = 0; i < arr.length; i++) { System.out.printf("%d", arr[i]); if (i != arr.length - 1) { System.out.printf(", "); } } System.out.printf("]"); } } ``` #### INPUT ``` ``` #### OUPUT ``` [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] ```
# Math.pow() 메소드 Math.pow() 메소드의 반환 타입은 double 입니다. 따라서, int 형 변수에 값 대입시 캐스팅이 필요합니다. 왜냐하면, 타입 불일치 문제가 발생하기 때문입니다. ``` int result = (int) Math.pow(2, 2); // => int result = (int) 4.0; // => int result = 4; ``` ## 타입 불일치 타입 불일치란 대입 값이 변수의 타입과 달라 생기는 문제입니다. 보다 자세한 내용은 아래 링크를 통해 확인해 보세요. - 타입과 형 변환 - https://cloudstudying.kr/lectures/70 ## PS. 피드백 감사합니다! 고마워요~~
그렇군요 감사합니다!