Checking a numeric palindrome
isPalindrome is a very unfortunate name in this code:


Names starting with "is" are typically methods returning a simple boolean
... but in this code isPalindrome is a parameterless method returning a boolean array
... and at the same time there is also a boolean array called isPalindrome


It would be better to use different names for the method and the array,
and neither should start with the word "is".



In the isPalindrome method, you could shorten this:


        if (checkForPalindrome(i)) {
            isPalindrome[i] = true;
        }



to this:

        isPalindrome[i] = checkForPalindrome(i);




I'm a big fan of descriptive variable names,
but I think you went a bit overboard, for example here:


private static int getPalindromeCount(int startNo, int endNo) {
    int totalPalindromeFound = 0;
    for (int i = startNo; i &lt;= endNo ; i++ ){
        if(isPalindrome[i]){
            totalPalindromeFound++;
        }
    }
    return totalPalindromeFound;
}



I would simplify some of the names there to:

private static int getPalindromeCount(int start, int end) {
    int palindromeCount = 0;
    for (int i = start; i &lt;= end; i++) {
        if (isPalindrome[i]) {
            palindromeCount++;
        }
    }
    return palindromeCount;
}




The numbers 100001 and 100000 are magic.
It would be good to create a constant from 100000 with a descriptive name.



A small tip: it's a lot easier to parse simple input using a Scanner, with its nextInt and nextLine methods,
instead of a BufferedReader and Integer.parseInt.

Also, why build output in a StringBuilder if you will print its contents anyway inside the same method.
You could just print the results directly.