본문 바로가기

카테고리 없음

1~100까지의 소수 출력 예제

이거 처음에 이해가 안되서 오랜시간 고민했는데,
나처럼 고민하는 이들을 위해 올린다.

class PrimeNumber
{
 public static void main(String[] args)
 {
  PrimeNumber pn = new PrimeNumber();
  pn.test2();
 }//main 끝

 public void test1(){
  boolean 소수일까 = true; //소수인지 판단하는 boolean 변수를 설정합니다.
  //boolean 변수는 어떤 것일까요?
  //boolean 변수는 true(참) 또는 false(거짓)값 만을 가지는 기본 데이터형입니다.
  //int 변수를 설정해서 이 예제를 만들 수도 있지만, boolean 데이터를 쓰면
  //문자로 변수를 설정게 되고 의미가 약간 더 분명해지기 때문에
  //이 변수를 써서 참 거짓을 판단하는 if문과 함께 많이 사용 됩니다.
  //소수를 출력하는 이 예제가 대표적이지요~~^^
 
  for(int i =2;i<101;i++){
   for(int j=2;j<i;j++){
    if(i%j==0){ 소수일까 = false;break; }  //소수가 아니면 반복문을 빠져나갑니다.
                  //여기서 반드시 '=='를 쓴다는걸 잊지마세요.
                  //'='쓸때는 어떤 결과가 나오는지도 실행해 봅시다.
    }//for j 문 끝
    if(소수일까 == true){ //여기도 '=="이 쓰였습니다. '='이 쓰일때와의 차이를 생각해봅시다.
     System.out.print(i+" ");}//if 문 끝
    소수일까= true;
  }//for i 문 끝
 }//test1()메서드 끝

 public void test2(){ //int 변수를 써서 한번 만들어 봐요~ '0'이 true이고 '1'이 false 입니다.
  int 소수일까 = 0; //판단하는 변수를 정수형으로 지정
  for(int i=2;i<=100;i++){
   for(int j=2;j<i;j++){
    if(i%j==0){소수일까 = 1;break;} // 소수가 아니면 반복문을 빠져 나갑니다.
   }//j for문 끝
   if(소수일까 == 0){
    System.out.print(i+" ");
   }//if문 끝
   소수일까 = 0;
  }//i for문 끝
 }//test2()메서드 끝
}//클래스 끝

위에 이렇게 올려놓고 보니깐 엄청 어려워 보인다..ㅋ

invalid-file

소수출력~분석~