Probleme bei einer for Schleife

Status
Nicht offen für weitere Antworten.

DDHP

Mitglied
Liebe Community ich verzweifel und wahrscheinlich ist es so einfach.

Ich versuche mit Hilfe von einer for Schleife von 1 bis 100 zu zählen.

Die zzahlen sollen durch ein Kommata getrennt sein.....aber hinter der 100 darf kein Kommata mehr stehen.

Meint ihr ich bekomm das hin? Ne!

Hier mein Quelltext:

Code:
public class ForSchleife {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int i;
	
		
			for (i=1; i <=100; i++){
			System.out.print(i + ",");
			
			
		}

	}

}

Wie schaffe ich es, dass hinter der 100 kein Kommata steht.

habe schon überlegt die Kommata auch mit einer for Schleife zu machen und dann nur 99mal durchlaufen aber das ging auch nicht.

Habt ihr vielleicht einen Tipp für mich? Wäre Euch sehr dankbar.

Euer DDHP
 
Code:
for(int i = 0; i <= 99; i++) {
    System.out.print(i);
    if(i < 99) {
        System.out.println(",");
    }
}
 
Mensch Tobias vielen Dank für Deine schnelle Antwort.

Wenn man denn richtigen Code sieht ist immer ales so einfach aber selber darauf kommen NA JA.

Vielleicht wird es ja noch bei mir.

Danke
 
Hallo,

hab heute mit Java angefangen. Hab auch noch kleine Probleme mit`m Compiler. Aber würde in deinem Fall


for(int i = 0; i <= 99; i++) {
System.out.print(i);
if(i < 99) {
System.out.println(",");
}
}

nach der 99 kein "," mehr kommen ?

wenn i bereits 99 angenommen hat tifft ja if-clause nicht mehr zu?!

lg Weaver
 
wenn von 1 bis 100 gezählt werden soll, müsste die for-schleife eigentlich so aussehen:

Code:
for(int i = 1; i <= 100; i++) {
     System.out.print(i);
     if(i < 100) {
	     System.out.println(",");
     }
}
 
omg die zahlen beginnen doch bei 0 daher ist 99 die letzte, demzufolge müsste doch nach ende von 99 noch nen Komma stehen?
 
Was will mir dieser Satz sagen? Die Schleife, die ich programmiert habe schreibt die Zahlen von 0-99 kommasepariert auf den Bildschirm, nach der letzten Zahl (der 99) folgt natürlich kein Komma mehr.

Was meinst du sollte anders sein?

mpG
Tobias
 
Nach etwas gefummel mitm Compiler hier mein erstes Java Programm. Es funktioniert genau wie in deiner oben beschriebenen Anforderungen.

public class Schleife

{
public static void main(String[] args)

{

int i;

{

for (i = 1; i <= 100; i++) {
System.out.print(i);
if(i < 100){
System.out.println(",");
}
if(i==100){
System.out.println();
}
}
}
}
}


btw. Nicht vergessen die Datei "Schleife" zu nennen, wenn du es ausprobierst.

lg Weaver
 
Hi,
ich würde die if-Abfrage bei der 100 weglassen und stattdessen außerhalb der Schleife System.out.println(); hinschreiben, denn wenn die Schleife verlassen wurde, sind die 100 Durchgänge schon durch und wenn du bei jedem Durchgang kontrollierst, ob das der 100. Durchgang ist, dann geht Rechenzeit verloren.

Liebe Grüße
Reality
 
@Reality, kannst das in ein paar Zeilen verdeutlichen?

kann mir Außerhalb der Schleife darunter schlecht was vorstellen. Wenn ich es nicht in den FOR-Block setzte, reiht er bei mir die Zahlen nur durch "," setzung aneinander.

Weaver
 
Die 100-If-Abfrage wird ja nur ausgeführt, wenn i gleich 100 ist.
Deswegen kannst du das auch außerhalb der Schleife implementieren:

Code:
public class Schleife

{
	public static void main(String[] args){

	int i;

	

	for (i = 1; i <= 100; i++) {
		System.out.print(i);
		if(i < 100){
			System.out.println(",");
		}
	}
		
	System.out.println();
	}
}

Liebe Grüße
Reality
 
Danke fürs veranschaulichen

Habs mir so zu allererst eigendlich gedacht. Jedoch wohl irgendwo nen fehler bei der Blocksetzung gemacht.

Weaver
 
Man könnte auch

Code:
for(int i = 1; i <= 99; i++) {
    System.out.print(i);
    System.out.print(",");
}
System.out.println(100);

schreiben. Dann ist man alle If-Abfragen los.

mpG
Tobias
 
.....Das ist aber gemogelt. Der zählt ja jetzt nicht bis 100 hoch automatisch.

Aber gehen tuts natürlich auch.

Danke für Eure Vorschläge und Anregungen.
 
Ich finde den Vorschlag von Tobias gut.
Als Programmierer weiß man eben was man tut; ein Mogeln gibt es da nicht und was letztenendes zählt, ist das Ergebnis aus Sicht des Endanwenders.

Liebe Grüße
Reality
 
Noch eine mögliche Lösung mit einer while-Schleife:
Code:
public class WhileSchleife {
   public static void main(String[] args) {
      int i = 1;
      while(i < 100) {
         System.out.print(i+", ");
         i++;
      }
      System.out.println(i);
   }
}

Reality hat gesagt.:
Als Programmierer weiß man eben was man tut...
Einige davon wissen es offenbar aber nicht...
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben