Binärzahlen

tomtom96

Mitglied
Servus Leute!

Ich sitze gerade an einem Programm, das eine Integer - Eingabe zur Basis 2 potenziert (also 2^n). Das Ergebnis ist dann die Länge einer Ausgabe, die nur aus 0 u. 1 besteht und nach jeder n´ten Stelle kommt eine Leerzeile. Hier ein Bsp.:
Man gibt die Zahl 3 ein und erhält potenziert das Ergebnis 2^3= 8. Also hat das Ergebnis 8 "Blöcke" mit jeweils 3 Stellen (die ausgegebenen Zahlen 0 & 1 müssen zufällig sortiert sein):
000 001 010 011 100 101 110 111

Ich bin jetzt so weit gekommen, dass das Programm die eingegebene Zahl potenziert und zufällige Binärzahlen ausgibt. Jedoch kommen ungeordnetete Ergebnisse raus:
Bei 3:
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Java:
import java.util.Scanner;

public class Bin {
    public static void main(String[] args){
   
    int eingabe,ausgabe;
    Scanner in= new Scanner (System.in);
    System.out.println("Bitte eine Zahl eingeben!");
    eingabe= in.nextInt();
   
    double a= Math.pow(2, eingabe);
    ausgabe= (int)a;
    System.out.println(ausgabe);
   
    String s = ausgabe+"";

    for (int j=1; j<=ausgabe; j++)
        for (int b = 0; b<=1; b++)
         System.out.print(b+" ");
   
   
   
   
    }
}

Kann mir jemand helfen? :)
 

Robat

Top Contributor
Hallo tomtom96,

prüf doch in deiner 2. for-Schleife, ob dein j Teiler von 3 ist (Modulo Operator) und setzte dann Entsprechend das Leerzeichen.
Wenn du willst, dass immer Dreierblöcke herauskommen, auch bei bswp. 7 Zahlen dann solltest du vorher prüfen ob die Gesamtlänge ein Teiler von 3 ist und wenn nicht entsprechend viele 0 hinzufügen, bis es Teiler von 3 ist. :)

Gruß
Robert
 

Meniskusschaden

Top Contributor
Wenn du willst, dass immer Dreierblöcke herauskommen, auch bei bswp. 7 Zahlen dann solltest du vorher prüfen ob die Gesamtlänge ein Teiler von 3 ist und wenn nicht entsprechend viele 0 hinzufügen, bis es Teiler von 3 ist
Ich finde die Aufgabenstellung unverständlich und vermute eigentlich eher, dass die Eingabe eine Bitzahl vorgibt und dann alle möglichen Wörter dieser Bitzahl ausgegeben werden sollen. Zumindest deutet das Beispiel darauf hin.
 

Ähnliche Java Themen

Neue Themen


Oben