JAVA :: Test050_반복문 while (입력 받은 정수가 소수인지 판별하는 프로그램 구현)

2023. 9. 9. 00:55· 📚 Study/Java

○ 실습
사용자로부터 임의의 정수를 입력받아
입력받은 정수가 소수인지 아닌지를 판별하여
결과를 출력하는 프로그램을 구현한다.
 
실행 예)
임의의 정수 입력 : 10
10 → 소수 아님
계속하려면 아무 키나 누르세요...
 
임의의 정수 입력 : 11
11 → 소수
계속하려면 아무 키나 누르세요...
 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test050
{
public static void main(String[] args) throws IOException
{
// 주요 변수 선언
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num; //-- 사용자의 입력값을 담아낼 변수
int n=2; //-- 입력값을 대상으로 나눗셈 연산을 수행할 변수
// 2부터 시작해서 1씩 증가
// ex) 입력값 27 → n : 2 3 4 5 6 7 8 ... 23 24 25 26
// 연산 및 처리
System.out.print("임의의 정수 입력 : ");
num = Integer.parseInt(br.readLine());
// 어떤 값을 입력받은 상태인지 알 수 없지만
// 이 입력값을 소수로 간주한다.
//String result = "소수다";
boolean flag = true; //-- num(사용자 입력값)은 소수일 것이다~!!!
while (n<num)
{
// 테스트
//System.out.println("반복문 수행 → n : " + n);
// 확인 연산
//-- n으로 num을 나누어 떨어지는지 확인 → 나머지가 0인지 확인
if (num%n==0) // 즉, 나누어 떨어지는 상황
{
// 앗~! 난 너를 소수라 생각했는데...ㅠㅠ
// 넌... 소수가 아니었어 흑흑흑... ㅠㅠ
flag = false;
break; //-- 멈춘다. ( + 그리고 빠져나간다.)
//-- → break를 감싸는 가장 가까운 반복문
// ex. 990은 소수가 아니다. 이는 2로 나눴을 때 나머지가 0이 되는 것을 보고 바로 알 수 있는데
// 굳이 989까지 나누는 반복을 하지 않아도 된다. 따라서 break 로 멈추고 반복문을 빠져 나가게 함
}
n++;
}
//테스트
//System.out.println("flag : " +flag);
// 결과 출력
// (최종 결과를 출력하기 전에 추가 확인 → 1인지 아닌지에 대한 추가 검토)
if (flag && n!=1)
{
// 최종적으로 소수
System.out.printf("%d → 소수\n", num);
}
else
{
// 최종적으로 소수 아님
System.out.printf("%d → 소수 아님\n", num);
}

 

저작자표시 (새창열림)
'📚 Study/Java' 카테고리의 다른 글
  • JAVA :: Test052_과제_반복문 while (입력 받은 정수의 전체 / 짝수 / 홀수의 합을 출력하는 프로그램 구현)
  • JAVA :: Test051_반복문 while (두 정수를 입력 받아 작은 수 부터 큰 수까지 합을 구하는 프로그램 구현)
  • JAVA :: Test049_반복문 while (누적합 연산 수행)
  • JAVA :: Test048_반복문 while (분수 형태의 합을 출력하는 프로그램 구현)
bono-hye
bono-hye
bono-hye
공부를 합시다👩🏻‍💻
bono-hye
전체
오늘
어제
  • 분류 전체보기 (506)
    • 📚 Study (225)
      • Java (148)
      • Oracle (28)
      • JDBC (4)
      • Javascript (9)
      • JSP & Servlet (19)
      • JQuery (6)
      • Spring (9)
      • Springboot (0)
      • 개인 공부 (2)
    • ✏️ 문제풀이 (280)
      • 백준 (181)
      • 프로그래머스 (99)

블로그 메뉴

  • 홈
  • 글쓰기
  • 관리
hELLO · Designed By 정상우.v4.2.1
bono-hye
JAVA :: Test050_반복문 while (입력 받은 정수가 소수인지 판별하는 프로그램 구현)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.