소수 구하기(에라스토테네스의 체)
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();
}
}