View Single Post
Eski 20/11/2004, 19:53   #7 (permalink)
hanife
Üye
 
hanife Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 11/2004
Mesaj: 6
Varsayılan

Anlarsam düzenlerim tabi
Ama derste kullanmadigimiz terimlerle calisamiyoruz maalesef. Mesela digit, base, reteval ve result gibi. Bunlarin ne oldugunu bile bilmiyorum Degistirmek mümkün mü?
Birde method stringle calismissin onuda degistirebilirmiyim.


Bundan bir önceki ödevim, hemen hemen sistem ayni olacak ama simdiki ödevde bazi degisiklikler var.

(kusura bakma seninde basini agritiyorum ama ben simdiye kadar java nin birtek adini duymustum )


public class Rekursion {
/**
* Berechnet die Summe von Quadratzahlen von 1 bis einschließlich der
* angegebenen Zahl n.
*
* @param n Zahl, die bestimmt welche Quadratzahlen berechnet werden.
* @return Summe der Quadratzahlen bis einschließlich n
*/
public static long berechneSummeQuadrate(int n) {
/* rekursive Realisierung (von n bis 1) */
return (n > 0) ? n * n + berechneSummeQuadrate(n - 1) : 0;
}


/**
* Hilfsmethode zur Berechnung der Stellenanzahl von einer Zahl.
*
* @param n Zahl, deren Stellenanzahl ermittelt wird.
* @return Stellenzahl von n
*/
public static long berechneStellen(long n){
/* rekursive Realisierung (Stellen bis 0) */
return (n / 10) <= 0 ? 1 : (10 * berechneStellen(n / 10));
}


/**
* Realisiert die ziffernweise Umkehrung der Dezimaldarstellung einer Zahl.
* Da die Stellenanzahl der umzukehrenden Zahl variabel ist, wird die Anzahl
* der Stellen mit Hilfe der Methode berechneStellen ermittelt.
*
* @param zahl Zahl, die umgekehrt wird.
* @return umgekehrte Ziffernfolge von zahl
*/
public static long kehreZahlUm(long zahl){
/* rekursive Realisierung */
return (zahl / 10) <= 0 ? zahl
: (zahl % 10 * berechneStellen(zahl) + kehreZahlUm(zahl / 10));
}


/**
* Führt beispielhafte Berechnungen aus und gibt die
* Ergebnisse auf dem Bildschirm aus.
*/
public static void main(String[] args){
System.out.println(berechneSummeQuadrate(5));
System.out.println(berechneSummeQuadrate(10));
System.out.println(berechneSummeQuadrate(0));
System.out.println(berechneSummeQuadrate(-2));

System.out.println(kehreZahlUm(123456789012L));
System.out.println(kehreZahlUm(700));
System.out.println(kehreZahlUm(0));
System.out.println(kehreZahlUm(120034));
}

}
hanife hatta değil   Alıntı Yaparak Yanıtla