[Java] Fakultät und Quersumme

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Blackwalker, 6. Januar 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 6. Januar 2009
    Fakultät und Quersumme

    Hi

    ich hab in der schule als kurs informatik belegt, in dem wir Java lernen.
    Jetzt schreiben wir nach den Ferien eine Arbeit, und ich hab mir mal die aus dem paralell Kurs besorgt.

    Da war als kleine Programmieraufgabe einen Fakultätsrechner, und anschließend einen Quersummenrechner der erhaltenen Zahl.

    Das wollte ich jetzt auch probieren, und hab jetzt den Fakultätsrechner auch hinbekommen.
    Bei der Quersumme hängts bei mir aber noch ein bisschen.

    naja hier is mal der code

    Code:
    public class Fakultät
    {
     // Bezugsobjekte
     int fak = 1;
    
     // Konstruktor
     public Fakultät()
     {
    
     }
    
     // Dienste
     public void rechnen(int n)
     {
     // Fakultätsrechner
     for(int i=1; i<=n; i++)
     {
     fak = fak * i;
     }
     System.out.println("Die Fakultät von "+n+" ist: "+fak);
     
     }
     
    
    }

    ich habe mir überlegt, dass man ja eig. immer nur die zahl durch 10 und 100 und 1000 usw. teilen muss.
    ich weiß jetzt aber nicht wie ich das in eine schleife packe...
    bzw. wie ich auslesen kann wie oft ich diese schleife durchlaufen muss.

    mein Ansatz sieht wie folgt aus:

    Code:
     int fak1 = fak;
     // Quersummenrechner
     for (int i = 1000000000; i>10; i= i/10)
     { 
     fak1 = fak1%i; [COLOR="Red"]hier ist ein dicker fehler, ich denke grade noch ^^[/COLOR]
     quer_ges = fak1 + quer_ges;
     }
     System.out.println("Die Quersumme von "+fak+" ist: "+quer_ges);
    
    aber das stimmt noch nicht so ganz...
    irgendwie hab ich da glaub ich n groben denkfehler drin


    würde mich freun.

    falls unstimmigkeiten im text sind sagts, ich hab während ich den text geschrieben hab noch n paar sachen geändert, und n paar fehler gefunden.
     
  2. 6. Januar 2009
    AW: Fakultät und Quersumme

    Ich bin mal so frei und zitier mal aus einem anderen Forum:

    Code:
    [COLOR="Blue"]int [/COLOR]quersumme([COLOR="Blue"]int [/COLOR]z) 
    {
     [COLOR="Blue"]int [/COLOR]sum = 0;
     [COLOR="Blue"]while [/COLOR](z > 0) 
     {
     sum += z % 10;
     z /= 10;
     }
     [COLOR="Blue"]return [/COLOR]sum;
    }
    
    Quelle: [C/C++] - Quersumme berechnen

    Mfg Rushh0ur
     
  3. 6. Januar 2009
    AW: Fakultät und Quersumme

    des check ich aber nich...

    deshalb wärs cool wenn mir das ejmand erklären könnte
     
  4. 6. Januar 2009
    AW: Fakultät und Quersumme

    der code ist nicht so schwer

    Code:
    int quersumme(int z) 
    {
     //Das ist die Quersumme
     int sum = 0;
     
     while (z > 0) 
     {
     //Da wird zur summe den Rest bei der division durch 10 auf die quersumme aufaddiert
     sum += z % 10;
     // Hier wird z GANZTEILIG durch 10 geteilt (also die kommastelle abgeschnitten)
     z /= 10;
     }
     // da wird die summe zurück gegeben
     return sum;
    }
    
    
    wir machen mal nen beispiel:

    z = 3953; summe = 0;

    1. Durchlauf:
    summe = 0 + 3 (3953/10=395+3)
    z=395 (3953/10=395,3)

    2. Durchlauf:
    summe = 3+ 5 (395/10=39+5)
    z = 39 (395/10 = 39,5)

    3. Durchlauf:
    summe = 8 + 9
    z = 3

    4. Durchlauf:
    summe = 17+3
    z = 0

    also ist die quersumme 3953 = 20

    MfG
     
  5. 6. Januar 2009
    AW: Fakultät und Quersumme

    danke leute ihr seid die besten

    hier nochmal für alle mein angepasster code:


    Code:
    public class Fakultät
    {
    [COLOR="Gray"] // Bezugsobjekte[/COLOR]
     int fak = 1;
     int sum=0;
    
     
    [COLOR="Gray"] // Attribute
    
     // Konstruktor[/COLOR]
     public Fakultät()
     {
    
     }
    
    [COLOR="Gray"] // Dienste[/COLOR]
     public void rechnen(int n)
     {
    [COLOR="Gray"] // Fakultätsrechner[/COLOR]
     for(int i=1; i<=n; i++)
     {
     fak = fak * i;
     }
     System.out.println("Die Fakultät von "+n+" ist: "+fak);
     int fak1 = fak;
    
    
    [COLOR="Gray"] // Quersummenrechner[/COLOR]
     while (fak1 > 0) 
     {
     sum += fak1 % 10;
     fak1 /= 10;
     }
     System.out.println("Die Quersumme von "+fak+" ist: "+sum);
    
     }
     
    
    }
    
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.