Anzeige

Hinzufügen von Operatoren bis zum vorletzten


Pedi

Grünschnabel
#1
Hallo,
ich möchte nach jeder Ausgabe von i ein + ausgeben (" + "), jedoch nicht beim letzten. Beim letzten soll =Ergebnis kommen
Code:
for (i=1; i<=50; i++) {
            if ((i%5) ==0) {
                erg= erg+ i;
                System.out.print(i+" ");}}
System.out.print("="+erg);
Ausgabe: 5 + 10 + 15 .... = Ergebnis

Wie mach ich das am besten?

Danke
Pedi
 

basti1012

Erfahrenes Mitglied
#2
Zb so würde ich es mal versuchen
Java:
    for(int i=0,erg=0;i<=50;i++){
      if((i%5)==0){
         erg+=i;
         if(i<50){
             System.out.print(i+"+");
         }else{
             System.out.print(i+"="+erg);
         }
      }
    }
 

Technipion

Erfahrenes Mitglied
#3
Ich würde es so lösen, dass du den ersten Wert von i vor der Schleife ausgibst, und in der Schleife selbst dann " + i". Nach der Schleife kannst du dann " = erg" dranhängen.

Außerdem: Was soll der Teilbarkeitstest? Mach doch einfach for (int i = 5; i <= 50; i += 5;) { ... }

Gruß Technipion
 

ComFreek

Mod | @comfreek
Moderator
#4
Außerdem: Was soll der Teilbarkeitstest? Mach doch einfach for (int i = 5; i <= 50; i += 5;) { ... }
Um das noch auf die Spitze zu treiben: 5 + 10 + 15 + 20 + ... + 50 = \sum_{i = 1}^{10} 5 * i = 5 * \sum_{i = 1}^{10} i = 5 * 11 * 5 = 25 * 11 = 275 mithilfe der Gausschen Summenformel.
Du brauchst also gar keine Schleife, wenn dich nur das Ergebnis interessiert ;)
 

Pedi

Grünschnabel
#5
Vielen Dank für eure Antworten.

Ich würde es so lösen, dass du den ersten Wert von i vor der Schleife ausgibst, und in der Schleife selbst dann " + i". Nach der Schleife kannst du dann " = erg" dranhängen.

Außerdem: Was soll der Teilbarkeitstest? Mach doch einfach for (int i = 5; i <= 50; i += 5;) { ... }

Gruß Technipion
Darf den Start und End-Wert nicht verändern. Somit, wenn ich i vor der schleife ausgebe, gebe ich somit 0 als erstes aus. 0 ist aber nicht durch 5 teilbar.
Ich soll ein Programm schreiben das von x(hier 0) bis y(hier 50) alle teilbaren zahlen aufaddiert.
"5 + 10 + 15 + 20 + ... + 50 = Ergebnis" und es soll genau so in dieser form ausgegeben werden
 

Pedi

Grünschnabel
#6
Zb so würde ich es mal versuchen
Java:
    for(int i=0,erg=0;i<=50;i++){
      if((i%5)==0){
         erg+=i;
         if(i<50){
             System.out.print(i+"+");
         }else{
             System.out.print(i+"="+erg);
         }
      }
    }
Wie mach ich es den hier am besten?
Code:
    for(int i=0,erg=0;i<=54;i++){
      if((i%5)==0){
         erg+=i;
         if(i<54){
             System.out.print(i+"+");
         }else{
             System.out.print(i+"="+erg);
         }
      }
    }
Wenn die ich i bei eine prüfung durch eine eigene zahl(ob größer, kleiner etc) immer denn selben wert wie in der for-schleife geben muss
 
Anzeige

Neue Beiträge

Anzeige