2015年9月12日土曜日

(Java)入力した数字が素数かどうかテストする

このコードはJavaで書いた「入力された数字が素数かどうかをテストし、その結果を出力するプログラム」です。ご自由にコピペ改変どうぞ。勉強の参考になればと思います。



import java.io.*;

class Primenumbertest{
    public static void main( String[] args ){
    int n = 0;

    System.out.println( "数字を入力してください。" );
    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isr);
      try{
      String buf = br.readLine();
      n = Integer.parseInt(buf);
      }catch(Exception e){
      n = 0;
      }

    System.out.println("あなたの入力した数字は " + n + " 。");

    if( isPrimeNum( n ) ) {
    System.out.println( n + " は素数です。" );
    } else{
    System.out.println( n +" は素数ではありません。");
    }
 }

 static boolean isPrimeNum( int x ) {
   if( x == 2 )
   return true;

   if( x < 2 || x % 2 == 0 )
   return false;

   for( int a = 3; a <= Math.sqrt((double)x); a += 2 )
   if( x % a == 0 )
   return false;

   return true;
   }
}