Программа для нахождения наибольшего палиндрома полученного перемножением двух чисел

package com.gmail.st1tchqwerty;

public class maxpalindrom {
	public static void main(String[] args) {
		int maxpal=0;
		for(int i=100; i<=999; i++) {
			for (int j=100; j<=999; j++) {
				int tmp=i*j;
				int result=0;
				while (tmp != 0) {
		            result = result * 10 + (tmp % 10);
		            tmp = tmp / 10;
		        }
				if(result==i*j) {
					maxpal=i*j;
				}
				
			}
		}
		System.out.print(maxpal);
	}
}

Это задание должно решаться с помощью методов

public static void search() {
		int maxpal=0;
		for(int i=100; i<=999; i++) {
			for (int j=100; j<=999; j++) {
				int tmp=i*j;
				int result=0;
				while (tmp != 0) {
		            result = result * 10 + (tmp % 10);
		            tmp = tmp / 10;
		        }
				if(result==i*j) {
					maxpal=i*j;
				}
				
			}
		}
		System.out.print(maxpal);
	}

Это решение не верно. Это хоть и палиндром но не максимальный.