Project Euler Problem #4 - Largest Palindrome Product (in Java)

import java.lang.StringBuilder;

public class Problem_4_Largest_Palindrome_Product {

    /* A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 * 99.
       Find the largest palindrome made from the product of two 3-digit numbers. */
    public static void main(String[] args) {
        System.out.println(findLargestPalindrome());
    }
    
    /* determines whether or not an integer is a palindrome;
       that is, if it reads the same from both ways */
    public static boolean isPalindrome(long n) {
        String s = String.valueOf(n);
        StringBuilder reverseString = new StringBuilder();
        
        // reverse the string
        for (int i = s.length() - 1; i > -1; i--) {
            reverseString.append(s.charAt(i));
        }

        return reverseString.toString().equals(s);
    }
	
    /* using the reverse() method in the StringBuilder class
       instead of reversing the string through iterations */
    public static boolean isPalindrome2(long n) {
        String s = String.valueOf(n);  
        return new StringBuilder(s).reverse().toString().equals(s);
    }
    
    /* returns largest palindrome that is a multiple of two 3 digit numbers
       and returns -1 if no such palindrome exists */
    public static long findLargestPalindrome() {
        long palindrome = -1;
        
        for (int i = 999; i > 99; i--) {
            for (int j = i; j > 99; j--) {
                
                // if product is palindrome and is greater than last recorded palindrome
                if (isPalindrome(i * j) && i * j > palindrome) {
                    palindrome = i * j;
                }
            }
        }
        return palindrome;
    }
}
DOWNLOAD

              Created: February 19, 2014
       Last Updated: August 27, 2014
Completed in full by: Michael Yaworski