please i need help i am writing this code to be able to display my execution time anytime i run a program but i usually get different time even when its the same input
after importing all this
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    /** Class KnuthMorrisPratt **/
    public class Knuth1
    {
        /** Failure array **/
        private int[] failure;
        /** Constructor **/
        public Knuth1(String text, String pat)
        {
            /** pre construct failure array for a pattern **/
            failure = new int[pat.length()];
            fail(pat);
            /** find match **/
            int pos = posMatch(text, pat);
            if (pos == -1)
                System.out.println("\nNo match found");
            else
                System.out.println("\nMatch found at index "+ pos);
        }
        /** Failure function for a pattern **/
        private void fail(String pat)
        {
            int n = pat.length();
            failure[0] = -1;
            for (int j = 1; j < n; j++)
            {
                int i = failure[j - 1];
                while ((pat.charAt(j) != pat.charAt(i + 1)) && i >= 0)
                    i = failure[i];
                if (pat.charAt(j) == pat.charAt(i + 1))
                    failure[j] = i + 1;
                else
                    failure[j] = -1;
            }
        }
        /** Function to find match for a pattern **/
    private int posMatch(String text, String pat)
        {
            int i = 0, j = 0;
            int lens = text.length();
            int lenp = pat.length();
        while (i < lens && j < lenp)
            {
                if (text.charAt(i) == pat.charAt(j))
                {
                    i++;
                    j++;
                }
                else if (j == 0)
                    i++;
                else
                    j = failure[j - 1] + 1;
            }
            return ((j == lenp) ? (i - lenp) : -1);
        }
        /** Main Function **/
        public static void main(String[] args) throws IOException
        {    
//i think its here were i get the input
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in) ));
            System.out.println("Knuth Morris Pratt Test\n");
            System.out.println("\nEnter Text: ");
            String text = br.readLine();
            System.out.print("\nEnter Pattern");
            String pattern = br.readLine();
                double starttime = System.nanoTime();
            Knuth1 kmp = new Knuth1(text, pattern);
                double endtime = System.nanoTime();
                double executiontime = (endtime - starttime )/1000000000;
               // System.out.printf("%.4f","Execution Time = "+ executiontime + " Seconds");
               System.out.print("Execution Time = ");
               System.out.format("%.4f", executiontime);
               System.out.print(" Seconds");
              // System.out.println(starttime);
              // System.out.println(endtime);
                //I love programming with JAVA and Php. It’s fun and interesting.
        }
    }
this code will check an input strings and pick out the unique word and the try to also display the execution time for the program... what i really want now is to make sure the execution time remain the same when i input the same input.
