chiedo scs se ri-apro questo thread dopo quasi 2 anni, ma ho trovato la soluzione anche perche avevo bisogno anche io di un algoritmo per verificare se un numero è un quadrato perfetto:
codice:
public class QuadratoPerfetto { 
/** 
* @param args the command line arguments       
*/      
public static void main(String[] args) {                        
int x=9;  		
int radice;    		
radice= (int) Math.sqrt(x);    		
if(radice*radice==x)    		
System.out.println("quadrato perfetto");    		else  		
System.out.println("quadrato non perfetto");    		      
}  
}
così facendo il programma funziona