Palinddrom-Programm mit BigInteger

Status
Nicht offen für weitere Antworten.

Davren2007

Neues Mitglied
Hallo zusammen!
Bin neu hier und wusst nicht, wo ich das Thema posten soll... Ich muss für die Schule ein Palindrom-Programm als Java-Application machen. Das ist mir eigentlich soweit auch geglückt.. Das Programm schaut nach, ob die Zehl ein Palindrom ist - wenn nicht, dreht es die Zahl um, addiert die beiden Zahlen und überprüft wieder... Jedoch kommt er bei der berühmten Zahl 196 ins schwitzen. Ich kenn mich leider nicht mit BigInteger aus, und wollt euch deswegen um Hilfe bitten. Hab schon etwas damit rumgetüfftelt, aber das Internet spuckt nicht viele Infos über Big Integer aus....
David

Hier ist der Ausschnitt vom Programm... Ist es möglich, den Quelltext so zu ändern, dass mit BigInteger gearbeitet wird?

Code:
 for(int x=0; x<200; x++){ // beginne for-Schleife
			  	
	            count = 0;
	            sEingabe = ""+x;	
				
		    bcheck = Pal(sEingabe); // Palindrom?
		     
		     if(bcheck == true) { // Palindrom
		     	lEingabe = Long.parseLong(sEingabe);
		     	biggest[x] = lEingabe; 
		     	}	
		     
		     else { // kein Palindrom
		     do{ //------------------------beginn-------------------------------------
		     	
		     	count++;
		     	
		     	sUmtausch = new StringBuffer(sEingabe).reverse().toString();	
	            
	            lEingabe = Long.parseLong(sEingabe); // aus String werde Long
	            lUmtausch = Long.parseLong(sUmtausch);
	            
	            lErgebnis = lEingabe + lUmtausch;
	            
	            if(lErgebnis > biggest[x])
	             	biggest[x] = lErgebnis;
	            
	            if(count > longest[x])
	             	longest[x] = count; 
	         
	            
	            sEingabe = ""+lErgebnis;
	
	            bcheck = Pal(sEingabe); // ist es jetzt ein Palindrom?  
	            
	            //-----------------------ende---------------------------------------------
	            
			 	 }while(bcheck == false); // Solange ausführen, bis ein Palindrom vorhanden ist!
			    }
			    
			 	System.out.println("biggest["+x+"]: "+biggest[x]);
			 	System.out.println("longest["+x+"]: "+longest[x]+"\n\n");
			 	
		   		}
		   		
		   	
		 	 }
 
SlaterB hat gesagt.:
toll, dass man Palindrom (bei Zahlen?) und diese 196 erst 5 Min. bei google suchen darf,

und was ist nun das Problem mit BigInteger?
http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html

es gibt einen Konstruktor für String, du kannst wieder ein String draus machen,
und add() gibts auch, was brauchst du mehr?
(außer jemanden der das für dich macht 😉 )

Da magst du recht haben... Bin auch grad daran dran aber kurz vorm verzweifeln.. Die Methode, den DoubleInteger-Wert in ein String umzuwandel will bei mir nicht funktionieren...

Code:
sEingabe = toString(Eingabe);  // Eingabe =  BigInteger

Das müsste doch so heißen, oder? Ttut mir leid, dass ich mich so dämlich anstelle....
 
zunächst mal sollte nie eine Variable mit einem Großbuchstaben beginnen,
und dann schaue dir mal an wie du im obigen Text den StringBuffer in einen String gewandelt hast,
so geht das mit JEDEM Objekt, auch mit BigInteger
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben