반응형
📝 에러 메시지
java.lang.ArithmeticException: / by zero
🔎 에러 원인
- 정수를 0으로 나누려고 할 때 발생하는 에러
🪫 에러 코드
package programmers.lv0;
public class lv0_couple {
public static void main(String[] args) {
Couple couple = new Couple();
int n = 20;
couple.solution(n);
}
}
class Couple{
public int solution(int n) {
int answer = 0;
for(int i=0;i<n;i++){ // 에러 위치
if(n%i == 0){
answer++;
}
}
return answer;
}
}
🔋 해결 방법
- for문 안에 변수를 0이 아닌 1로 초기화 한다.
- 기본 시작 인덱스인 0이 아닌 1부터 반복하므로 반목종료값 + 1을 해준다.
package programmers.lv0;
public class lv0_couple {
public static void main(String[] args) {
Couple couple = new Couple();
int n = 20;
couple.solution(n);
}
}
class Couple{
public int solution(int n) {
int answer = 0;
for(int i=1;i<=n;i++){ // 에러 수정 위치
if(n%i == 0){
answer++;
}
}
return answer;
}
}
반응형