Advertisement
Shailrshah

Smallest Prime and Largest Non-Prime from an Array

Aug 20th, 2013
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.74 KB | None | 0 0
  1. import java.io.*;
  2. class Arrays{
  3.     private static String getInput(String prompt){
  4.         BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
  5.         System.out.print(prompt);
  6.         System.out.flush();
  7.         try{
  8.             return stdin.readLine();
  9.         }catch(Exception e){
  10.             return "Error: " + e.getMessage();
  11.         }
  12.     }
  13.     public static void main(String args[]) {
  14.         String input = getInput("Enter the number of elements: ");
  15.         int n = Integer.parseInt(input);
  16.         int [] inputArray = new int [n];
  17.         int [] isPrime = new int [n];
  18.         int [] isNonPrime = new int [n];
  19.         int i, countisPrime = 0, countisNonPrime = 0;
  20.         for(i = 0; i<n; i++){
  21.             input = getInput("Enter an element: ");
  22.             inputArray[i] = Integer.parseInt(input);
  23.             int divisor = 2, result = 0;
  24.             if(inputArray[i] < 2){
  25.                 isNonPrime[countisNonPrime++] = inputArray[i];
  26.                 continue;
  27.             }
  28.             while (divisor <= inputArray[i]/2){
  29.                 if(inputArray[i]%divisor == 0){
  30.                     result = 1;
  31.                     break;
  32.                 }
  33.                 else divisor++;
  34.             }
  35.             if(result != 1)
  36.                 isPrime[countisPrime++] = inputArray[i];
  37.             else
  38.                 isNonPrime[countisNonPrime++] = inputArray[i];
  39.         }
  40.         int smallisPrime = isPrime[0];
  41.         System.out.println("\n\n"+countisPrime+" Prime found:-");
  42.         for(i = 0; i<countisPrime; i++){
  43.             System.out.println(isPrime[i]);
  44.             if(isPrime[i] < smallisPrime)
  45.                 smallisPrime = isPrime[i];
  46.         }
  47.         System.out.println(smallisPrime+" is the smallest Prime.");
  48.         int largeisNonPrime = isNonPrime[0];
  49.         System.out.println("\n\n"+countisNonPrime+" Non-Prime found:-");
  50.         for(i = 0; i<countisNonPrime; i++){
  51.             System.out.println(isNonPrime[i]);
  52.             if(isNonPrime[i] > largeisNonPrime)
  53.                 largeisNonPrime = isNonPrime[i];
  54.         }
  55.         System.out.println(largeisNonPrime+" is the largest Non-Prime.");
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement