Quersumme berechnen (inkl. 10 als Lösungszahl)

Janechen88

Mitglied
Hallo liebe Community,

ich habe ein Problem und weiß nicht genau wie ich das Ganze gelöst bekomme.
Und zwar habe ich einen Code, der die Quersumme einer Zahl berechnet und diese dann ausgibt.

Ich müsste nun den Code so anpassen, dass die Zahl "10" ebenfalls als Lösung rauskommen kann.
Dass heißt die Quersumme von 91 soll 10 und nicht 1 sein (also die Zahl muss >10 sein, damit die Quersumme berechnet wird)

Wie ergänz ich meinen Code z.B. mit einer if Bedingung, dass ich dieses Ergebnis erziele.

Wäre echt super dankbar für Vorschläge und Lösungen :)


Java:
jQuery( function( $ ) {
 
  $("input[name='wpcf-geburtdatumzahl1']").change(quersumme);

  function quersumme() {
    
        var tmp = $("input[name='wpcf-geburtdatumzahl1']").val().split('');
        var quer = 0;
    
        for (var i=0; i < tmp.length; i++) {
          quer += Number(tmp[i]);
        }
        
    
        var round2 = quer.toString().split('');
        var round2_res = 0;
        for (var i=0; i < round2.length; i++) {
          round2_res += Number(round2[i]);
        }

        $("input[name='wpcf-loesungszahl01']").val(round2_res);
             
}
    
} );
 

KonradN

Super-Moderator
Mitarbeiter
Also als erstes suchst Du hilfe in JavaScript und nicht in Java - das sind zwei unterschiedliche Dinge.

Dann ist die Anforderung etwas dubios. Die Quersumme ist die Summe aller Ziffern. Und die rechnest Du dann ja auch in quer richtig aus.

Nur was machst Du dann mit round2? Die Quersummer der Quersumme? Und wieso soll diese von 10 dann nicht 1 sein?

Evtl. willst Du die Anforderung noch einmal im Detail formulieren? Denn die ist zumindest mir nicht klar.
 

Janechen88

Mitglied
Ups okay hab gedacht ich kann hier meine Frage vielleicht auch los werden 🙈

Ja ich weiß ist etwas ungewöhnlich, aber ich probier es nochmal zu erklären.

Ich habe z.B. eine Zahl 98
Die Quersumme davon ist 17
In der zweiten Runde Rechne ich dann die Quersumme von 17 aus, da ich für die weitere Programmierung Zahlenergebnisse von 1-10 brauche. Deswegen meine Frage wie ich z.B bei 91 die Quersumme 10 rausbekomme ohne das er mir die zweite Runde rechnet.

Hoffe ich konnte mich etwas verständlicher ausdrücken 😉
 

KonradN

Super-Moderator
Mitarbeiter
Ups okay hab gedacht ich kann hier meine Frage vielleicht auch los werden 🙈
Das ist kein Problem - ich hatte über den Report Knopf um das Verschieben gebeten und ein Moderator war so nett und hat den Thread in das entsprechende Forum verschoben, in dem JavaScript verwendet wird.

Wenn Du eine Zahl zwischen 1 und 10 benötigst, dann ist der Algorithmus aber doch auch falsch beschrieben. Bei 99999 würdest Du ja nicht zwei Runden fahren sondern noch mehr.

Und bei so Aufgaben ist die Sprache erst einmal egal - der erste Schritt ist immer, dass man den Algorithmus so beschreibst, dass er genau das macht, was er soll. Und dazu verwendet man die Sprache, die man am besten kann und das ist dann hier unsere Sprache.

Also bitte formuliere doch ganz genau, was ich wie lange machen muss.

Ich bekomme eine Zahl. Was soll ich machen? Quersumme berechnen? Einmal? Zwei mal? Drei Mal? Wann darf ich abbrechen?

Spiel es doch einfach einmal durch für Dich selbst. Wie sieht es bei diversen Zahlen aus:
- bei der 1?
- bei der 9?
- bei der 10?
- bei der 11?
- bei der 999?
- bei der 9999?

Wenn Du es durchspielst, dann wirst Du hoffentlich einen Weg finden, wie Du immer zum richtigen Ergebnis kommst. Den Weg kannst Du dann zusammen schreiben. Wenn Du es richtig formuliert hast, dann kannst Du ihn einfach 1:1 in JavaScript umwandeln.
 

temi

Top Contributor
Vielleicht hab ich dich jetzt verstanden. Du möchtest bei einem Ergebnis der Quersumme zwischen 1 und 10 nicht mehr weiter rechnen. Wie wäre es mit einem Vergleich? In der Art: "wenn das Ergebnis größer ist als 10, dann.." oder "solange das Ergebnis größer ist als 10, dann..." oder "wenn das Ergebnis kleiner ist als 11, dann..."
 

Janechen88

Mitglied
Vielleicht hab ich dich jetzt verstanden. Du möchtest bei einem Ergebnis der Quersumme zwischen 1 und 10 nicht mehr weiter rechnen. Wie wäre es mit einem Vergleich? In der Art: "wenn das Ergebnis größer ist als 10, dann.." oder "solange das Ergebnis größer ist als 10, dann..." oder "wenn das Ergebnis kleiner ist als 11, dann..."
Super - genauso hätte ich das gerne. 😍
Aber wie sieht diese If Bedingung aus, wenn ich Sie in meinen Code einbauen will?
Versuche Java grade zu lernen, bin aber leider noch nicht so fitt darin.

Wenn nach der ersten Runde die Zahl größer als 10 ist soll er weiter rechnen. Wenn nach der ersten rechen Runde die Zahl kleiner oder gleich 10 ist soll er nicht mehr weiter rechnen und das Ergebniss gleich ausgeben. (Mehr wie zwei rechen Runden gibt es nicht. Die größte Zahl die Eingetragen werden kann ist 99).

Danke schonmal für EURE HILFE!
 

KonradN

Super-Moderator
Mitarbeiter
Okay dann also eine Schleife und wie sieht diese aus?
Wenn Dein Ziel ist, das zu lernen, dann würde ich vorschlagen, das doch einfach einmal selbst zu suchen. Schleifen dürften in jedem Tutorial zu JavaScript (oder Java, falls Du java machen willst) behandelt werden.

Es macht doch wenig Sinn, dies für Dich heraus zu suchen um es dann per Copy & Paste hier zu bringen....
 

Neue Themen


Oben