Clean Code that Works.




import java.util.Scanner;

public class CheckPrimeNumber {
 private int input;
 private Scanner scan = new Scanner(System.in);
 private boolean prime;
 
 public CheckPrimeNumber() {
  putInfo();
 }
 
 public void setInputNumber(int input) {
  this.input = input;
 }
 
 public void putInfo() {
  System.out.println("소수 계산 프로그램 입니다.");
 
  System.out.print("계산 하고자 하는 수를 입력 하세요 : ");
  setInputNumber(scan.nextInt());
 
  System.out.println("계산중...");
 
  putNumber(input);
 }
 
 public boolean calculation(int num) {
  prime = true;
     int limit = (int) Math.sqrt ( num ); 

     for ( int i = 2; i <= limit; i++ )
     {
      if ( num % i == 0 )
      {
       prime = false;
       break;
      }
     }
     return prime;
 }
 
 public void putNumber(int num) {
  int j = 0;
  for (int i = 2; i <= num; i++){
   if (calculation(i)) {
    System.out.println(i);
    j++;
   }
  }
  System.out.println("입력한 숫자 "+input+"의 소수의 갯수는 "+j+"개입니다.");
 }
 
 public static void main(String[] args) {
  new CheckPrimeNumber();
 }
}