While-Schleife:Zahlen summieren?

Status
Nicht offen für weitere Antworten.
D

Dino

Gast
Hilfe!
Wie kann man in Java Programm alle Zahlen zur Summe bringen.
Z.B. gibt man im Textfeld die Zahl 6 ein, so erschein im Ergebnis-Feld das Ergebnis 21 (1+2+3+4+5+6).

Bitte, wer weiß , HELP
 

EOB

Top Contributor
hi, na du nimmst die zahl, ziehst sie von sich selber ab und addierst eins dazu...dann biste bei eins. dann in einer forschleife von 1 bis die zahl durchlaufen und in jedem durchlauf den index drauf addieren.

gruesse
 

Wildcard

Top Contributor
rekursiv ist schöner:
Code:
int add(int zahl)
{
    if(zahl==1)
         return 1;
   return zahl+add(zahl-1);
}
 

Yzebär

Bekanntes Mitglied
@Dino
Das nennt man übrigens Fakultät.

@Wildcard
Bist du sicher, daß du nicht etwas vergessen hast?
 

Wildcard

Top Contributor
Warum?
Wenn du die Größe beschränken wolltest müsstest du erst ausrechnen ab wann Integer.MAX_VALUE überschritten wird.
Für eine Übungsaufgabe IMO ziemlich nutzlos.
 

LoN_Nemesis

Bekanntes Mitglied
6*7 ist 42? 42 geteilt durch 2 ist 21?

Im übrigen kommt bei n * (n+1) immer eine gerade Zahl heraus, da entweder n oder n+1 gerade ist. Von daher kann da nichts mit ,5 rauskommen.
 

Yzebär

Bekanntes Mitglied
Wildcard hat gesagt.:
Warum?
Wenn du die Größe beschränken wolltest müsstest du erst ausrechnen ab wann Integer.MAX_VALUE überschritten wird.
Für eine Übungsaufgabe IMO ziemlich nutzlos.

Hat die JVM einen unbegrenzt großen Callstack? Wenn ich große Zahlen eingebe, gibt es ja auch ziemlich viele Methodenaufrufe.
 

Wildcard

Top Contributor
Nicht unbegrenzt, sondern variable (VM-Parameter).
Integer.MAX_VALUE wird bei dieser Funktion aber wesentlich früher erreicht :wink:
 

Illuminatus0301

Aktives Mitglied
Wildcard hat folgendes geschrieben::
Nein, das ist keine Fakultät.

Richtig, aber es gab doch nen Namen dafür... wenn der mir nur einfallen würde...

Also wie das heißt weiß ich auch nicht, ich weiß nur das Fakultät X = X! = X * (X-1) * ... * 2 * 1 ist.

Aber ich frage micht, was so ein nettes Thema in der Kategorie "Java Applets & Java Webstart" macht! Das würde doch besser bei "Mathematik" passen, oder nicht!?!
 
S

SlaterB

Gast
wie feststellen?
na an der roten Schrift der Exception ;)

ist nix allgemeingültiges von mir,
aber eine Aussage wie 'Integer.MAX_VALUE wird bei dieser Funktion aber wesentlich früher erreicht' schrie ja nach einem Gegenbeispiel
 

Wildcard

Top Contributor
Stimmt. Hätte dazu sagen müssen 'als der maximal reservierbare Stack'.
Es ging ja um soweit ich das verstanden habe darum eine Prüfung einzuführen das man keine Zahlen eingeben darf die zu StackOverflow führen können...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben