Hi!
Irgendwie sehe ich meinen Fehler nicht! Hier mal eben der Code dann folgt die Beschreibung.
als Eingabe bekommt die schleife 500000000.
dann habe ich ja diese Testausgaben womit ich beobachten kann in welche bedingung er rein geht.
als erstes geht er wie erwartet in gl (gleich) rein das ist gut doch dann beginnt er von vorn rechnet mal 2 und geht in gr(größer) rein und dann wieder in gl und dann ist erst schluss. nun wollte ich einfach mal verhinder das er an dem string eine 1 anhängt und habe dieses erreicht eingefügt. doch das bringt nicht das geringst. genau die gleiche ausgabe.
Ausgabe:
eingabeZahlNK :500000000
i: 1000000000
gl
i: 2000000000
gr
gl
Seht ihr wieso und weshalb? Bittte gebt mir bescheid! Danke
Irgendwie sehe ich meinen Fehler nicht! Hier mal eben der Code dann folgt die Beschreibung.
Code:
nachKommaOut="";
erreicht=false;
while (i<17) {
eingabeZahlNK *= 2;
System.out.println("i: "+ eingabeZahlNK);
if (eingabeZahlNK>1000000000){
if (erreicht==false) nachKommaOut = nachKommaOut + "1";
eingabeZahlNK -= 1000000000;
i++;
System.out.println(" gr ");
}
if (eingabeZahlNK<1000000000){
nachKommaOut = nachKommaOut + "0";
System.out.println(" kl ");
i++;
}
if (eingabeZahlNK==1000000000) {
nachKommaOut = nachKommaOut + "1";
erreicht=true;
i=19;
System.out.println(" gl ");
}
}
i=0;
erreicht=false;
als Eingabe bekommt die schleife 500000000.
dann habe ich ja diese Testausgaben womit ich beobachten kann in welche bedingung er rein geht.
als erstes geht er wie erwartet in gl (gleich) rein das ist gut doch dann beginnt er von vorn rechnet mal 2 und geht in gr(größer) rein und dann wieder in gl und dann ist erst schluss. nun wollte ich einfach mal verhinder das er an dem string eine 1 anhängt und habe dieses erreicht eingefügt. doch das bringt nicht das geringst. genau die gleiche ausgabe.
Ausgabe:
eingabeZahlNK :500000000
i: 1000000000
gl
i: 2000000000
gr
gl
Seht ihr wieso und weshalb? Bittte gebt mir bescheid! Danke