공부를 하다가 소수를 찾는 로직을 작성하게 되었다.
아래의 코드는 소수(primeNumber)를 찾는 코드이다.
public class Find_primeNumber {
// 소수 판별 함수: 소수이면 1, 아니면 0 반환
public static int s(int num) {
for (int i = 2; i < num; i++) {
if (num % i == 0) {
return 0;
}
/*
--if문의 실행부를 감싸는 {}가 없을 때는 다음의 한 줄만 영향을 받음
if (num % i == 0 )
return 0 ;
*/
}
return 1;
}
public static void main(String[] args) {
int num = 10;
int cnt = 0;
// 2부터 9까지 각 숫자에 대해 소수 여부를 검사
for (int i = 2; i < num; i++) {
cnt += s(i);
System.out.println(cnt);
}
}
}
코드 해석
=> 해당 코드는 S(10)을 넣어 함수 s의 내부 반복문( for(i=2; i<num; i++){ } )을 실행하며 for문에서는 num을 2부터 num‑1까지의 i로 나눔.
만약 어떤 i에 대해 num % i가 0이면, 즉시 return 0;이 실행되어 0을 반환하고 함수가 종료됨.
또한 for문 내에서 한 번도 num % i가 0이 되는 경우가 없으면, for문이 모두 실행된 후 return 1;이 실행되어 1이 반환되며, 소수임을 나타냅니다.
요약
=> 내부 반복문을 돌면서 num을 i로 나머지 연산하여 나머지가 0인 경우 return 0을 통해 0을 반환하고 함수 종료
내부 반복문을 돌면서 num을 i로 나머지 연산하여 나머지가 0이 아닌 경우 내부반복문 종료 후 return 1을 통해 1을 반환 후 함수 s() 종료
'자바 이론' 카테고리의 다른 글
| [JAVA] 배열과 리스트의 차이 toString() (0) | 2025.04.02 |
|---|---|
| [Java] non-static 클래스 (내부 클래스) (0) | 2025.03.21 |
| [java]HttpServletRequest (0) | 2024.12.12 |