Bestimmte Zahlen ausgeben mit einer whilfe Schleife

tetsu

Mitglied
Hallo,
ich habe vor kurzen mit meiner Ausbildung in Informatik angefangen und jetzt hätte ich ein Probleme beim Lösen einiger Aufgaben.
Wir sollen eine while Schleife schreiben die von einer bestimmten zahl bis zu einer bestimmten Zahl alle zahlen ausgibt.
Ich bin mir nicht im klaren wie ich die Bedingung für diese Schleife deklarieren soll.
Leider habe ich kaum einen Ansatz zu der Aufgabenstellung. Könnte mir eventuell jemand einen Tipp geben? Ich möchte es selbstverständlich selbst lösen.

Java:
 public static void ausgabe()
   {
       int zaehler = 0;
       while(zaehler <=250)
       {
           System.out.println(zaehler);
           zaehler++;
    }
 
Hm... aktuell werden die Zahlen zwischen 0 und 250 (inkl.) ausgegeben. Was musst Du anpassen, damit z. B. die Zahlen von 100 bis 150 (inkl.) ausgegeben werden?
 
Hallo,
Ja ich müsste die Bedingung so umschreiben das ich einen bestimmten Zahlenbereich festlege:
Ich hätte die Idee das ich mehrere Variablen deklariere :

Java:
   public static void ausgabe()
   {
       int start = 100;
       int ende = 250;
              
       while(start <= ende)
       {
           System.out.println(zaehler);
           zaehler++;     
      
        }
}

Jetzt ist mir jedoch unklar wie ich einen zaehler definieren könnte ?
 
Genauso wie Du start und ende deklarierst hast.
stimmt einfach ein int zaehler dazu.

jedoch läuft meine Ausgabe ewig weiter...
Müsste ich in der Bedinung der while Schleife den zaehler <= ende festsetzen? Aber dann weiß die Schleife nicht wo sie anfangen soll..

Java:
{
   public static void ausgabe()
   {
       int start = 100;
       int ende = 250;
       int zaehler = 0;
              
       while(start <= ende )
       {
           System.out.println(zaehler);
           zaehler++;
      
      
        }
}
}
 
und solange dieser kleiner ist als das Ende wird die Abfrage durchgeführt.
Das ist zwar richtig, führt aber zu einer Endlosschleife...
Eine kleine Änderung im Code könnte der Sache näher kommen:
Java:
public static void main(String[] args)
    {
        int start = 100;
       int ende = 250;
       int zaehler = 0;
              
       while(start <= ende )
       {
             System.out.println(start);
           start++;
     }
    }
 
Das ist zwar richtig, führt aber zu einer Endlosschleife...
Eine kleine Änderung im Code könnte der Sache näher kommen:
Java:
public static void main(String[] args)
    {
        int start = 100;
       int ende = 250;
       int zaehler = 0;
             
       while(start <= ende )
       {
             System.out.println(start);
           start++;
     }
    }
genau die selbe Idee hatte ich jetzt über Nacht 😀
nur ich müsste doch sicherlich einen zähler einbauen oder?
jetzt wird die Schleife solange ausgeführt bis der Start Wert kleiner als der End Wert ist.
und jedesmal wird zum Start Wert +1 dazu gerechnet ? Oder habe ich das falsch verstanden mit den Start ++?

Da wollten wir ihn doch selber drauf kommen lassen...
ich bin fast drauf gekommen - mitten in der Nacht dachte ich mir wieso tue ich nicht ein start++ einbauen, weil dann müsste der Wert ja erhöht werden und im System.out.println kommt das Start, weil der Zähler bringt mir momentan nichts..
Und jetzt habe ich wieder ins Forum geschaut und habe denselben Code gesehen 😀

jetzt bin ich noch am überlegen benötige ich einen zähler überhaupt?

Mein Ziel war es ja die Zahlen von 100-150 auszugeben
 
start ist in dem Fall Dein Zähler 🙂
Und das wäre auch ein Grund, warum eine zusätzliche Variable für den Zähler trotzdem sinnvoll sein könnte, auch wenn dein Programm natürlich funktioniert und auch korrekt ist.

Die beiden Variablen "start" und "ende" sollten als Vorgabewerte fungieren und sich im Programmverlauf nicht mehr ändern. Das hat etwas mit der Aussage des Variablennamens zu tun. "Start" sagt aus, dass es sich um den Startwert handelt, darum ist es nicht logisch, dass sich dieser Startwert ändert. Beispielsweise verschiebt sich ja die Startlinie bei einem Wettlauf auch nicht mit jedem Schritt, den der Läufer zurücklegt.

Variablennamen sollten einen aussagekräftigen Namen haben, aber der Name sollte dann natürlich auch das halten, was er verspricht.

Ausgehend von deinem ursprünglichen Code:
Java:
public static void ausgabe() {
    final int start = 100; // final, um zu zeigen, dass sich die Vorgabe nicht ändert
    final int ende = 250; // final, um zu zeigen, dass sich die Vorgabe nicht ändert
   
    int zaehler = start; // Zähler auf den Startwert setzen.
    while(zaehler <= ende) {
        System.out.println(zaehler);
        zaehler++;
    }
}
 
Zuletzt bearbeitet:
Hallo,
ich habe vor kurzen mit meiner Ausbildung in Informatik angefangen und jetzt hätte ich ein Probleme beim Lösen einiger Aufgaben.
Wir sollen eine while Schleife schreiben die von einer bestimmten zahl bis zu einer bestimmten Zahl alle zahlen ausgibt.
Ich bin mir nicht im klaren wie ich die Bedingung für diese Schleife deklarieren soll.
Leider habe ich kaum einen Ansatz zu der Aufgabenstellung. Könnte mir eventuell jemand einen Tipp geben? Ich möchte es selbstverständlich selbst lösen.

Java:
 public static void ausgabe()
   {
       int zaehler = 0;
       while(zaehler <=250)
       {
           System.out.println(zaehler);
           zaehler++;
    }
Noch etwas: Die einfachste Möglichkeit wäre übrigens diese gewesen:
[CODE lang="java" highlight="2, 3"]public static void ausgabe() {
int zaehler = 100; // einfach einen anderen Startwert zuweisen 😉
while(zaehler <= 250) { // und ggf. einen anderen Vergleichswert für das Ende
System.out.println(zaehler);
zaehler++;
}
}[/CODE]
 
start ist in dem Fall Dein Zähler 🙂
stimmt ich weiß ja sozusagen wo ich anfange zu zählen
start ist in dem Fall Dein Zähler 🙂
Hast du dir eigentlich selbst beantwortet:

den zähler brauche ich deshalb nicht, weil ich einen Start Wert deklariere und somit ab den Zeitpunkt mit Start++ gezählt wird.
Und das wäre auch ein Grund, warum eine zusätzliche Variable für den Zähler trotzdem sinnvoll sein könnte, auch wenn dein Programm natürlich funktioniert und auch korrekt ist.

Die beiden Variablen "start" und "ende" sollten als Vorgabewerte fungieren und sich im Programmverlauf nicht mehr ändern. Das hat etwas mit der Aussage des Variablennamens zu tun. "Start" sagt aus, dass es sich um den Startwert handelt, darum ist es nicht logisch, dass sich dieser Startwert ändert. Beispielsweise verschiebt sich ja die Startlinie bei einem Wettlauf auch nicht mit jedem Schritt, den der Läufer zurücklegt.

Variablennamen sollten einen aussagekräftigen Namen haben, aber der Name sollte dann natürlich auch das halten, was er verspricht.

Ausgehend von deinem ursprünglichen Code:
Java:
public static void ausgabe() {
    final int start = 100; // final, um zu zeigen, dass sich die Vorgabe nicht ändert
    final int ende = 250; // final, um zu zeigen, dass sich die Vorgabe nicht ändert
  
    int zaehler = start; // Zähler auf den Startwert setzen.
    while(zaehler <= ende) {
        System.out.println(zaehler);
        zaehler++;
    }
}

ah okay - das werde ich gleich mal ausprobieren 🙂
Noch etwas: Die einfachste Möglichkeit wäre übrigens diese gewesen:
[CODE lang="java" highlight="2, 3"]public static void ausgabe() {
int zaehler = 100; // einfach einen anderen Startwert zuweisen 😉
while(zaehler <= 250) { // und ggf. einen anderen Vergleichswert für das Ende
System.out.println(zaehler);
zaehler++;
}
}[/CODE]

ja ich habe jetzt auch meinen Code bisschen vereinfacht, damit er clean dargestellt ist.
Jetzt mache ich mich mal an die nächsten Beispiele.

Vielen Dank an alle 🙂

Falls ich wieder nicht weiterkomme melde ich mich 🙂
 

Neue Themen


Zurück
Oben