본문 바로가기
에러해결

[자바 에러] java.lang.ArithmeticException: / by zero

by cook_code 2024. 4. 13.
반응형

📝 에러 메시지

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;

    }
}
반응형