Java,Kotlin(10)
-
[10] Java/Kotlin - Java indexoutofboundsexception 에러
1. 발생상황ㄴ 파일 실행 중에 indexoutofboundsexception 에러가 발생 2. 발생원인ㄴ ArrayList에서 index의 범위가 배열의 값보다 넘어갔을때 발생하는 원인이다.ㄴ 본인은 배열을 출력하고있는데 배열엔 문제가 없다는 것을 알게 되었다. 3. 해결방법ㄴ index의 기준을 생성해주는 메서드를 확인했다. ㄴ 해당 메서드에서 초기화 하는 부분에서 문제가 있었다. 메서드안에서 반복문 실행전에 초기화를 해야하는데 메서드 밖에서 필드로 선언되고 있었다. 4. 정리ㄴ 해당 오류가 발생했을땐 바로 인덱스 범위에 대해서 추적을 한다면 빠르게 원인을 찾을 수 있다.
2024.09.25 -
[9] Java/Kotlin - Java 2차 개인과제(마지막)
※ 숫자야구 게임 만들기ㄴ 레벨 1,2,3,4로 구성 [ Lv.3 게임기록 통계 보여주기 ]요구사항)1. 초기 게임설정에서 게임기록 선택2. 게임기록 선택하면 기록 보여주기 - n번째 게임 (n횟수)의 형태 ※ 정답을 맞추는 순간에 n번째게임, n횟수를 저장하는 형태로 진행하려고 생각했다.ㄴ 그러기 위해선 ArrayList 객체가 추가ㄴ 배열로 담긴 값들을 규칙적으로 추출ㄴ 해당 규칙은 짝수,홀수를 구하는 식을 사용해서 n번째, n횟수를 구분ㄴ 반복문으로 출력하는 형태로 마무리 ㄴ gameLog - n번째게임ㄴ cnt - n횟수ㄴ num3 - 게임기록을 담을 ArrayList 객체 ㄴ정답입력시 num3 객체에 각 정보 저장 [코드설명]1) num3 객체에서 size를 구해서 size를 기준으로 반..
2024.09.24 -
[8] Java/Kotlin - Java 2차 개인과제 트러블 슈팅
※ 숫자 야구 게임 만들기- Lv.1 정답 숫자 생성하고 게임진행- Lv.2 입출력 개선 - 유효성 검사 - Lv.3 게임 기록 통계 만들기- Lv.4 난이도 조절 기능 1) 레벨1 스트라이크, 볼 아웃 로직 1-1) 개요ㄴ 스트라이크, 볼, 아웃 로직에 대한 고민 1-2) 배경ㄴ ArrayList를 활용해서 각 자리수 숫자를 추출하고 ArrayList에서 제공되는 메서드들을 사용할 생각. 1-3) 진행ㄴ 막연하게 ArrayList로 활용하면 되겠다를 생각하고 구체적인 부분은 직접 코드를 하나씩 짜가면서 생각해나갔다. 1-4) 위기ㄴ 큰 틀로 생각은 해뒀으나, 구체적으로 각각에 대해서 어떻게 진행할지에 대해선 생각을 못해둔 상태라 조금 버벅임이 있었다. 1-5) 결말ㄴ 먼저 각 자리수를 구하고, 구..
2024.09.24 -
[7] Java/Kotlin - java 2차 개인과제 (1차)
※ 숫자야구 게임 만들기ㄴ 레벨 1,2,3,4로 구성 ※ 캠프에서 제공해준 힌트와 예시코드, 그리고 구글에 수많은 예시 코드들이 있었는데, 모두 참고하지 않고 구성했습니다. 코드가 많이 길어져서 블로그 1차정리 끝나면 코드를 개선할 생각입니다. [ Lv.1 기본 숫자야구 게임 ]요구사항)1. 정답숫자 생성하기2. 정답을 맞추기 위한 숫자입력하기3. 정답,입력값 비교하여 스트라이크, 볼, 아웃 출력4. 정답이 같을 경우 게임 종료 (3스트라이크)5. 정답을 맞출때까지 계속 실행이 가능해야함. ※ [입력숫자와 정답숫자에 대한 조건]ㄴ 서로 다른 3자리수이다.ㄴ 숫자는 중복불가이다.ㄴ 1~9까지의 숫자로만 구성되어 있다. [코드설명] 1) 정답숫자 랜덤3자리 생성 메서드2) 중간에 int num으로 자릿수 ..
2024.09.23 -
[6] Java/Kotlin - java 1차 개인과제 트러블 슈팅
※ 계산기 만들기- Lv.1 클래스없이 계산기 만들기- Lv.2 클래스 사용하여 계산기 만들기- Lv.3 Enum, 제네릭, 람다 & 스트림을 활용한 계산기 만들기 1) 레벨2 Getter, Setter 메소드 호출에 대한 트러블 슈팅 1-1) 개요ㄴ Getter, Setter 메소드를 제대로 불러오지 못하는 현상. 1-2) 배경ㄴ 레벨2 요구사항 중 Calculator클래스에서 생성한 컬렉션필드에 대하여 메인메서드를 실행하는 App클래스에서 직접적인 접근을 막고 간접적인 접근으로 변경해야하는 상황에서 발생. 1-3) 발단ㄴ 인텔리제이에서 Oracle OpenJDK 22.0.2 버전을 사용중이며, Calculator 클래스에서 생성한 컬렉션필드를 private 제어자로 세팅하고, Getter, Se..
2024.09.11 -
[5] Java/Kotlin - java 1차 개인과제
※ 계산기 만들기ㄴ 레벨 1,2,3으로 구성 ★ 다양한 추가 기능에 대한 생각 및 레벨별로 기존 코드 유지를 위하여 레벨 1, 1_1 로 클래스를 새로 만들어서 진행한 점 양해부탁 드립니다. 레벨 2,3은 App클래스와 연동되도록 잘 진행하였습니다! [ Lv.1 클래스 없이 계산기 만들기 ]요구사항)1. 양의 정수 2개를 입력 받기2. 연산기호 1개를 입력 받기3. 입력받은 숫자와 연산기호로 연산계산하고 결과 출력하기4. 기본적으로 무한반복문을 실행하고 문자열 "exit" 입력했을때만 계산이 끝나도록 ※ 주의사항ㄴ Scanner를 활용해서 양의정수와 기호를 입력 받기ㄴ 변수를 요구사항에 맞는 타입으로 잘 선언하기 ㄴ 레벨1 위 요구사항까지의 코드 ※ 어려웠던 부분 및 고민한 부분ㄴ 다행히 Lv.1에..
2024.09.11