Rechnung genau 8 mal ausführen

Tut mir leid ich muss mal kurz eine andere Baustelle aufmachen, bevor ich mioch der alten offenen zuwende.

Ich möchte, dass folgende Rechnung genau 8 mal ausgeführt wird:

Java:
int D = 0;
int Rest = 0;
int Bit = 0;

while (D > 0 || Bit < 8 ) {  
	Rest=D-(D/2)*2;
	D=D/2;
	System.out.println(Rest);
	Bit = Bit + 1;
	if (D == 0 ) {
	System.out.println ("0");}
	System.out.println ("Bit:" + Bit);

Das
System.out.prinln ("Bit:" + Bit);
soll da später nicht mehr stehen, ich hab es nur hingeschrieben, um nachzuvollziehen, was das Programm macht.

Es kommt folgende Ausgabe (Am Beispiel der Eingabe "50"):

50
0
Bit:1
1
Bit:2
0
Bit:3
0
Bit:4
1
Bit:5
1
0
Bit:6
0
0
Bit:7
0
0
Bit:8
 
Zuletzt bearbeitet:
Das wird doch nur 8 mal ausgeführt :bahnhof:
Bzw. wenn du immer nur 8 mal haben willst, dann solltest du aus der Abfrage das D rausschmeißen.
Wenn du willst, dass es höchstens 8 mal ausgeführt wird, dann solltest du statt
Code:
||
Code:
&&
verwenden.
Ansonsten solltest du besser beschreiben was genau du willst.
 
Hab die Lösung gefunden:

Einfach das
Java:
if (D == 0 ) {
    System.out.println ("0");}

streichen. Somit ist der richtige Quellcode:

Java:
while (Bit < 8 ) {  
	Rest=D-(D/2)*2;
	D=D/2;
	System.out.println(Rest);
	Bit = Bit + 1;
	}
 

Zurück
Oben