While-Loops

Task:
use a while loop to calculate the sum of all numers from 1 to 1000.

So nachdem ich ein bisschen gegooglet habe kam ich zwar auf eine Lösung, doch die funktioniert nicht wie ich es will.
wo ist der fehler?
Java:
public class Main
{
	public static void main(String[] args)
	{
		int sum = 0;
		int i = 1;

		while (i <=1000)
		{ 
			sum = sum + i;
			System.out.println(sum);
			i++;
		}


	}
}
 
Task:
use a while loop to calculate the sum of all numers from 1 to 1000.

So nachdem ich ein bisschen gegooglet habe kam ich zwar auf eine Lösung, doch die funktioniert nicht wie ich es will.
wo ist der fehler?

Da uns nur sagst "funktioniert nicht" können wir nicht helfen.

Was bekommst du als Ergebnis und was erwartest du dir als Ergebnis?
Hast du schon probiert deinen Code zu debuggen?
Ansich schaut dein Code richtig aus ...
 
Zuletzt bearbeitet:
Da uns nur sagst "funktioniert nicht" können wir nicht helfen.

Was bekommst du als Ergebnis und was erwartest du dir als Ergebnis?
Hast du schon probiert deinen Code zu debuggen?
Ansich schaut dein Code richtig aus ...

Beim Debugger zeigt er mir ja auch nichts an =(
hier noch ein bild dazu
4ae5b96c2bbfbe5ca0038e3e2378c906.jpg
 
Leider kann ich mir das Bild im Moment nicht anschauen (https wird nicht durchgelassen 🙁 )
Der Debugger zeit dir die aktuellen Werte der Variablen an!
Sprich es kann nicht sein, dass er dir nichts anzeigt .... das halte ich für ein Gerücht.

Wo liegt denn nun genau das Problem, das hast du uns immer noch nicht verraten!
Kommt ein falscher Wert raus? Fliegt eine Exception?
 
Leider kann ich mir das Bild im Moment nicht anschauen (https wird nicht durchgelassen 🙁 )
Der Debugger zeit dir die aktuellen Werte der Variablen an!
Sprich es kann nicht sein, dass er dir nichts anzeigt .... das halte ich für ein Gerücht.

Wo liegt denn nun genau das Problem, das hast du uns immer noch nicht verraten!
Kommt ein falscher Wert raus? Fliegt eine Exception?

was ich damit erreichen will ist die summe von den zahlen zwischen 1 und 1000
(use a while loop to calculate the sum of all numbers from 1 to 1000
gaus Funktion lässt aide nicht zu
und nein der Debugger zeigt mir wirklich nix An
 
Zuletzt bearbeitet:
was ich damit erreichen will ist die summe von den zahlen zwischen 1 und 1000

Danke das konnte ich lesen und habe es verstanden. Was für ein Wert soll dabei denn rauskommen?
Mit was vergleichst du das Ergebnis deines Programmes?

Du willst dir X ausrechnen und bekommst aber Y raus ..... was sind denn nun X und Y ... ich will die wirklichen Zahlen wissen!

gaus Funktion lässt aide nicht zu

???:L???:L???:L

und nein der Debugger zeigt mir wirklich nix An

Der Debugger zeigt dir den aktuellen Wert der Variablen bei jedem Durchlauf an, natürlich nur wenn du in der Schleife einen Breakpoint setzt, ansonsten läuft auch der Debugger ohne Stop durch.
Solltest du nicht wissen, wie du den Debugger richtig einsetzt dann lies es dir in der Doku der IDE am Besten durch 🙂
 
Danke das konnte ich lesen und habe es verstanden. Was für ein Wert soll dabei denn rauskommen?
Mit was vergleichst du das Ergebnis deines Programmes?

Du willst dir X ausrechnen und bekommst aber Y raus ..... was sind denn nun X und Y ... ich will die wirklichen Zahlen wissen!



???:L???:L???:L



Der Debugger zeigt dir den aktuellen Wert der Variablen bei jedem Durchlauf an, natürlich nur wenn du in der Schleife einen Breakpoint setzt, ansonsten läuft auch der Debugger ohne Stop durch.
Solltest du nicht wissen, wie du den Debugger richtig einsetzt dann lies es dir in der Doku der IDE am Besten durch 🙂

die genaue zahl weiss ich nicht aber sie lässt sich mit der gauschen summenformel berechnen also wenn ich mich richtig erinnere 1000*(1001)/2
und ich will als Ergebnis nur die summe von 1 und 1000 ( inkl zahlen zwischendrin)
laut Ideone.com ist der code fehlerlos jedoch zeigt er mir dann alle zahlen von 1-500500 ( das ist die summenzahl) an ich will doch nur die summe ;(
 
Zuletzt bearbeitet:
die genaue zahl weiss ich nicht aber ......
und ich will als Ergebnis nur die summe von 1 und 1000

:bahnhof::bahnhof:
Ich weiß jetzt noch immer nicht wo das Problem ist.

Dein Code oben berechnet in einer Schleife die Summer aller Zahlen von 1 bis 1000!
Die letzte Zahl, welche du als Ausgabe bekommst ist das Ergebnis.

Wenn du nicht mal weißt wie das Ergebnis sein soll, woher willst du wissen dass das was du bekommst falsch ist? ???:L


[EDIT]
laut Ideone.com ist der code fehlerlos jedoch zeigt er mir dann alle zahlen von 1-500500 an ich will doch nur die summe ;(

Ah jetzt kommen wir der Sache näher. Du bekommst unzählige Zahlen ausgegeben, obwohl du nur max 1 Ausgabe haben willst -> die Summe!

Java:
public class Main
{
	public static void main(String[] args)
	{
		int sum = 0;
		int i = 1;
		while (i <=1000)
		{ 
			sum = sum + i;
			System.out.println(sum);
			i++;
		}
	}
}

Du hast das
Code:
System.out.println(sum);
in deiner Schleife stehen, daher wird bei jedem Schleifendurchlauf der aktuelle Wert der Variable
Code:
sum
ausgegeben. Wenn du nur 1 Ausgabe willst, dann gib den Wert von
Code:
sum
nach der Schleife aus.

Und dann schaue dir am besten nochmal ein paar Grundlagen an 🙂
[/EDIT]
 
Zuletzt bearbeitet:
Den einzigen "Fehler" denn ich sehe ist, dass du nach jeder Schleife "sum" ausgibst. Was allerdings nicht gefragt war.

Schreibe das System.out.println(sum) nach der While Schleife und du siehst nur ein Ergebnis.
 
In der Aufgabe steht doch explizit, dass du nur das finale Ergebnis ausgeben sollst, nicht aber die Zwischenschritte.
Nimm mal dein println aus deiner Schleife raus und packe es danach rein.
 
Den einzigen "Fehler" denn ich sehe ist, dass du nach jeder Schleife "sum" ausgibst. Was allerdings nicht gefragt war.

Schreibe das System.out.println(sum) nach der While Schleife und du siehst nur ein Ergebnis.


In der Aufgabe steht doch explizit, dass du nur das finale Ergebnis ausgeben sollst, nicht aber die Zwischenschritte.
Nimm mal dein println aus deiner Schleife raus und packe es danach rein.

@njans ja ich weiß aber ich schaffe es nicht
😀
so ??? weil da kommt dann compilation error


Java:
public class Main
{
    public static void main(String[] args)
    {
        int sum = 0;
        int i = 1;
 
        while (i <=1000)
         System.out.println(sum);
        { 
       
            sum = sum + i;
            i++;
        }
 
 
    }
}
 
Zuletzt bearbeitet:

Zurück
Oben