Avec beaucoup d'amelioration!

Code:
Entrez votre RSA nombre pour chercher ses facteurs premiers:
1000000000000009
Recherche des facteurs premiers:

join Th201 fait
f=17324969*57720161
100004 nns 
0 mlls 
1 Minutes 40 secondes
Code:
Entrez votre RSA nombre pour chercher ses facteurs premiers:
1000000000000003
Recherche des facteurs premiers:

join Th201 fait
f=14902357*67103479
52243 nns 
0 mlls 
0 Minutes 52 secondes
Mais avec les grands diviseur il y a un bug
ça ne reconnait pas le calcul de la racine carré

Code:
Entrez votre RSA nombre pour chercher ses facteurs premiers:
276931556780344213902868906164723309223760836398395325400503672280937582471494739461900602187562551243171865731050750745462388288171212746300721613469564396741836389979086904304472476001839015983033451909174663464663867829125664459895575157178816900228792711267471958357574416714366499722090015674047
Recherche des facteurs premiers:

-
-
-
-
Exception in thread "Thread-1" java.lang.NumberFormatException
	at java.math.BigDecimal.<init>(Unknown Source)
	at java.math.BigDecimal.<init>(Unknown Source)
	at java.math.BigDecimal.<init>(Unknown Source)
	at java.math.BigDecimal.valueOf(Unknown Source)
	at AutreThreadDivseurs.AutreThreadDivseurs.run(AutreThreadDivseurs.java:113)
Exception in thread "Thread-2" java.lang.NumberFormatException
	at java.math.BigDecimal.<init>(Unknown Source)
	at java.math.BigDecimal.<init>(Unknown Source)
	at java.math.BigDecimal.<init>(Unknown Source)
	at java.math.BigDecimal.valueOf(Unknown Source)
	at AutreThreadDivseurs.AutreThreadDivseurs.run(AutreThreadDivseurs.java:113)
le partie du code concernée

Code:
resf1[0]=Math.floor(Math.sqrt( delta2.doubleValue()));
		    resf1[1]=resf1[0]*resf1[0]-delta2.doubleValue();
		   
		    //Sous-dessous:partie entière de la racine carré
		    partyEntiere2=resf1[0];
		    
		    //partie decimale
		    partyDecimale2=resf1[1];
		    
		    //Sous-dessous:conversion double vers bigInteger de la partie entière
		     r3 = BigDecimal.valueOf(partyEntiere2).toBigInteger();
		   
		     //Sous-desous:conversion double vers bigInteger de la partie decimale
		     r4 = BigDecimal.valueOf(partyDecimale2).toBigInteger();
		     
		     racineDelta2=r3;
cette ligne
r3 = BigDecimal.valueOf(partyEntier e2).toBigInteger();

je ne sais pas là où il y a problèm ?

Merci pour votre aide