JeffGrigg

Untitled

Dec 17th, 2017
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.88 KB | None | 0 0
  1. import java.math.*;
  2. import java.util.Scanner;
  3.  
  4. public class CheckPrimeNumber {
  5.  
  6.     final static BigInteger BIG_INTEGER_TWO = new BigInteger("2");
  7.  
  8.     public static void main(String[] args)
  9.     {
  10.         try{
  11.             Scanner sc= new Scanner(System.in);
  12.             System.out.println("Enter a valid positive number: ");
  13.             String strinput=sc.nextLine();
  14.             BigInteger input = new BigInteger(strinput);
  15.  
  16.             BigInteger num = input.divide(BIG_INTEGER_TWO);
  17.  
  18.             sc.close();
  19.  
  20.             boolean isPrime = isPrime(input);
  21.  
  22.             if (isPrime) {
  23.                 System.out.println(input +" is a prime number.");
  24.             } else {
  25.                 System.out.println(input+" is not a prime number.");
  26.             }
  27.         }
  28.         catch(Exception e){
  29.             System.out.println("Please enter only valid positive number: ");
  30.         }
  31.         finally{
  32.             System.out.println("Thank you...!!!");
  33.  
  34.         }
  35.     }
  36.  
  37.     protected static boolean isPrime(BigInteger input) {
  38.         boolean isPrime = false;
  39.  
  40.         if(input.equals(0)){
  41.             isPrime = false;
  42.         }
  43.  
  44.         if(input.equals(1)){
  45.             isPrime = false;
  46.         }
  47.         else {
  48.             int flag = 0;
  49.             for (BigInteger one = BigInteger.ONE; one.compareTo(input.divide(BIG_INTEGER_TWO)) < 0; one = one.add(BigInteger.ONE)) {
  50.  
  51. // Above line is still giving the error. It cannot be converted from int to boolean.
  52. // I understood what you suggested, but I am not able to implement that logic.
  53.  
  54.                 if (input.remainder(BIG_INTEGER_TWO).equals(BigInteger.ZERO)) {
  55.                     isPrime = false;
  56.                     flag = 1;
  57.                     break;
  58.                 }
  59.             }
  60.             if(flag==0) {
  61.                 isPrime = true;
  62.             }
  63.         }
  64.  
  65.         return isPrime;
  66.     }
  67.  
  68. }
Add Comment
Please, Sign In to add comment