Dezimal zu Binärcode Programm

  • Themenstarter Gelöschtes Mitglied 61081
  • Beginndatum
G

Gelöschtes Mitglied 61081

Gast
Guten Tag, wir sollten ein simples Programm schreiben, in das man eine Dezimalzahl eintippt und einen Binärcode herausbekommt.

Das ist mein Code:
Java:
 public static void main(String[] args) {
        
        Scanner eingabe = new Scanner(System.in);
        
        System.out.println("Bitte eine Zahl eingeben um ins Binärsystem umzuwandeln");
        
        int Teilergebnis;
        int Endergebnis = 0;
        StringBuilder Umdrehen = new StringBuilder();
        //ZE= Zwischenergebnis
        
        for (int ZE = eingabe.nextInt(); ZE> 0; ZE = ZE/2)
            
        {
            
            Teilergebnis = ZE % 2;
            Endergebnis = Endergebnis + Teilergebnis;
            
            Umdrehen.append(Endergebnis);
            
            
        System.out.print(Umdrehen.reverse());
        
        }
        
        
    }
    
}

Meine 1 Frage ist: Bei dem Eintippen der Zahl 4 kommt als Binärcode z.B 000100 heraus. Der Richtige wäre aber nur 100. Es haut mir immer 3 Nullen noch davor, sieht jemand den Fehler?

Ich habe notgedrungen mit der Reverse Funktion (ergooglet) gearbeitet. Gerne würde ich aber auch den Lösungsweg auf dem Weg verstehen, der verlangt war. Mein Programm mit dem Endergebnis als Ausgabe (ohne diese Reversebefehle) ist logischerweise falsch rum, da man Binärcodes ja von unten nach oben bzw. hinten nach vorne ausliest. Irgendwie würde ich gerne Teilergebnisse erzielen, für z.B den Binärcode 100 jeweils 1; 0; und 0 und diese dann manuell zusammenfügen, sodass ich einen richtigen Binärcode zu einer Zahl habe, auch ohne Reversebefehl.

Vielen lieben Dank für die Hilfe!
 
C

CSHW89

Bekanntes Mitglied
Du hängst das "Teilergebnis" immer ans Ende. Mach das einfach umgekehrt: "Endergebnis = Teilergebnis + Endergebnis". Dann brauchst du "Umdrehen" auch nicht, und gibst das "Endergebnis" am Ende aus (nach der For-Schleife).

Viele Grüße
Kevin

PS: Ups, ich sehe gerade, "Endergebnis" ist eine Zahl. Die Variable müsstest du dann ändern zu einem String, damit es passt.
 
kneitzel

kneitzel

Top Contributor
Du gibst alle Zwischenergebnisse aus. Und die Zwischenergebnisse sind halt "0", "00" und dann das "100", was dann alles ausgegeben eben das 000100 macht.

Du willst aber doch nur am Ende das Ergebnis ausgeben, also mach die Ausgabe außerhalb der Schleife.
 
G

Gelöschtes Mitglied 61081

Gast
Wie änder ich das?

Ich habe jetzt Endergebnis zu String gewechselt aber dann geht gar nichts mehr weil Int und String nicht miteinander agieren können.
Java:
   public static void main(String[] args) {
        
        Scanner eingabe = new Scanner(System.in);
        
        System.out.println("Bitte eine Zahl eingeben um ins Binärsystem umzuwandeln");
        
      
        int Teilergebnis;
        String Endergebnis;
        //StringBuilder Umdrehen = new StringBuilder();
        //ZE= Zwischenergebnis
        
        for (int ZE = eingabe.nextInt(); ZE> 0; ZE = ZE/2)
            
        {
            
            Teilergebnis = ZE % 2;
            Endergebnis = Teilergebnis + Endergebnis;
            
            //Umdrehen.append(Endergebnis);
            
            
            
        //System.out.print(Umdrehen.reverse());
        
        }
          System.out.print(Endergebnis);
        
        
        
        
        
        
    }
    
}
? :p
 
G

Gelöschtes Mitglied 61081

Gast
Packe ich im Ursprungszustand nur die Ausgabe aus der Schleife, kommt nur 1 raus.
 
kneitzel

kneitzel

Top Contributor
Wie ich geschrieben habe: Lediglich die Ausgabe muss außerhalb der Schleife sein. Also lediglich das Schleifenende vor die Ausgabe packen.

Das sähe dann z.B. so aus:
Java:
import java.util.Scanner;

public class Test {
     public static void main(String[] args) {
       
        Scanner eingabe = new Scanner(System.in);
       
        System.out.println("Bitte eine Zahl eingeben um ins Binärsystem umzuwandeln");
       
        int Teilergebnis;
        int Endergebnis = 0;
        StringBuilder Umdrehen = new StringBuilder();
       
        for (int ZE = eingabe.nextInt(); ZE> 0; ZE = ZE/2)
           
        {
           
            Teilergebnis = ZE % 2;
            Endergebnis = Endergebnis + Teilergebnis;
           
            Umdrehen.append(Endergebnis);
           
        } // Neue Zeile!
           
        System.out.print(Umdrehen.reverse());
       
//        }  // Auskommentiert!
       
       
    }
}

Mit folgender Ausgabe:
Code:
C:\Projects\test>javac Test.java

C:\Projects\test>java Test
Bitte eine Zahl eingeben um ins Binärsystem umzuwandeln
4
100
C:\Projects\test>
 
G

Gelöschtes Mitglied 61081

Gast
Danke, aber wenn du jetzt eine 5 als Eingangswert angibst, kommt 211 raus, was falsch ist.
 
C

CSHW89

Bekanntes Mitglied
JustNobody: Er wollte die Methode "reverse" aber nicht benutzen.
MatzeMueller543: Doch das funktioniert. Java wandelt das "int" um in ein "String". Was fehlt ist nur ein Initialwert für "Endergebnis", also einfach
Code:
String Endergebnis = ""
 
G

Gelöschtes Mitglied 61081

Gast
Wenn ich andere Zahlen eintippe, dann kommen als Binärcodes nicht nur 0 und 1 raus. Wo ist mein Fehler?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
JD_1998 Vorgegebene Methode erweitern um Hex -> Dezimal umzuwandeln Java Basics - Anfänger-Themen 1
P Dezimal zu Hexadezimalzahl Funktion Java Basics - Anfänger-Themen 5
D Dezimal zu Dual mit Rückgabewert Java Basics - Anfänger-Themen 39
J Dezimal in Binär (Array) Java Basics - Anfänger-Themen 2
D Umrechnung dezimal -> oktal | signed/unsigned? Java Basics - Anfänger-Themen 1
L Dezimal- zu Binärsystem Java Basics - Anfänger-Themen 4
P 32 Bit Binärzahl Umwandeln in Dezimal Java Basics - Anfänger-Themen 8
D römische Zahlen in Dezimal ausgeben Java Basics - Anfänger-Themen 9
dave253 IEEE-Norm in Dezimal Java Basics - Anfänger-Themen 12
Z Dezimal > Binär-Umrechnung Logikfehler? Java Basics - Anfänger-Themen 8
K Erste Schritte Dezimal in binär Java Basics - Anfänger-Themen 17
S Umwandlung Binär in Dezimal (ohne array etc.) Java Basics - Anfänger-Themen 6
V Binär in Dezimal Java Basics - Anfänger-Themen 4
W Umwandeln von Dezimal in Dual - Ausgabe incl. Rechenschritte Java Basics - Anfänger-Themen 11
H Erste Schritte Uhrzeit anzeigen in Minuten Dezimal Java Basics - Anfänger-Themen 8
S Umrechner (Dezimal, Hexadezimal und Binär) Java Basics - Anfänger-Themen 3
F Erste Schritte Dezimal in Hexadezimal Java Basics - Anfänger-Themen 5
F Erste Schritte [GUI] Dual in Dezimal rechnen Java Basics - Anfänger-Themen 5
N Compiler-Fehler Dezimal to binary Java Basics - Anfänger-Themen 2
C Dezimal- und InputVerifier/FocusListener Probleme Java Basics - Anfänger-Themen 3
E Hexadezimal in Dezimal Java Basics - Anfänger-Themen 25
G Java Dezimal Zahlen Internazialisation Problem Java Basics - Anfänger-Themen 7
M Verständnisfrage zur Zahlenumwandlung (Dezimal-->Dual) Java Basics - Anfänger-Themen 25
C dezimal in binär Java Basics - Anfänger-Themen 3
M Binär -> Dezimal Java Basics - Anfänger-Themen 11
U Dezimal zu Hexadezimal rekursive Funktion Java Basics - Anfänger-Themen 8
F dezimal zu hexadezimal Java Basics - Anfänger-Themen 14
N Umrechung Binär in Dezimal und Hexadezimal Java Basics - Anfänger-Themen 7
V Tool zum Umrechnen Dezimal in Hex Java Basics - Anfänger-Themen 7
B Dezimal Binär? Java Basics - Anfänger-Themen 10
B Dezimal --> Hex Java Basics - Anfänger-Themen 3
M String(Binärzahl) in Dezimal umwandeln Java Basics - Anfänger-Themen 4
S Dual in Dezimal umwandeln? Java Basics - Anfänger-Themen 24
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
G Dezimal zu Hexadezimal Java Basics - Anfänger-Themen 2
S Dezimal- in Hexadezimalzahl umwandeln Java Basics - Anfänger-Themen 4
M wie hexadezimal in dezimal wandeln? Java Basics - Anfänger-Themen 16
C Hilfe bei Umrechnung von dezimal nach binär Java Basics - Anfänger-Themen 9
O Dezimal in Dual...Arraygröße & Runden Java Basics - Anfänger-Themen 4
X Dezimal/-Hexcode in lebares format umwandeln Java Basics - Anfänger-Themen 4
S dezimal od. hexadezimal Java Basics - Anfänger-Themen 3
J Binärcode - Text umdrehen? Java Basics - Anfänger-Themen 3
P String in Binärcode umwandeln Java Basics - Anfänger-Themen 8
N binärcode Java Basics - Anfänger-Themen 3
G Weiß jemand wie man dieses Programm schreibt? Java Basics - Anfänger-Themen 84
C Programm ausführen ohne JRE? Java Basics - Anfänger-Themen 3
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
N Best Practice How can I creat a programm with java under windows 10 in order to open an spreadsheet in libreoffice calc format Java Basics - Anfänger-Themen 11
W Programm dass Palindrome erkennt Java Basics - Anfänger-Themen 6
K Erste Schritte Programm geht aus Schleife, warum? Java Basics - Anfänger-Themen 2
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
K Programm stoppt einfach ohne Grund Java Basics - Anfänger-Themen 4
M Rekursives Programm zum Anzeigen von Primzahlen Java Basics - Anfänger-Themen 3
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
Zrebna Programm kann aus der Konsole nicht gestartet werden (in der IDE läuft es) Java Basics - Anfänger-Themen 2
K Error bei meinem Programm - Hilfe Java Basics - Anfänger-Themen 8
J Programm schreiben Java Basics - Anfänger-Themen 5
T Kann jemand kurz das Programm testen? Java Basics - Anfänger-Themen 13
T Programm Schleife/if Java Basics - Anfänger-Themen 2
T Mein Programm hat Fehler Java Basics - Anfänger-Themen 4
G While/If Programm Java Basics - Anfänger-Themen 2
G Java-Programm Terminal Java Basics - Anfänger-Themen 2
Dimax Java Programm mit exec starten Java Basics - Anfänger-Themen 5
I Java Programm sieht wie exe aus. Java Basics - Anfänger-Themen 3
J Programm vereinfachen Java Basics - Anfänger-Themen 5
G Java-Programm weitergeben Java Basics - Anfänger-Themen 14
Kirby_Sike Programm startet nachdem es compiled wurde nicht Java Basics - Anfänger-Themen 17
T Programm effizienter gestalten Java Basics - Anfänger-Themen 17
M Ein Programm erweitern, wie? Java Basics - Anfänger-Themen 3
J Fehler in Programm: Index -1 out of bounds for length 0 Java Basics - Anfänger-Themen 5
M Programm per Nutzereingabe ändern Java Basics - Anfänger-Themen 3
G Programm mit Schleife funktioniert nicht Java Basics - Anfänger-Themen 5
G If / While Programm (Datei auslesen) Java Basics - Anfänger-Themen 6
G Programm schreiben: Zahl (n) eingeben, 1+1/n+2/n+3/n+....+n/n Java Basics - Anfänger-Themen 8
M Problem mit meinem Programm Java Basics - Anfänger-Themen 6
L Wie teilt man ein Programm in vernünftige Klassen ein? Java Basics - Anfänger-Themen 10
R Compiler-Fehler HalloWelt-Programm korrekt abgeschrieben, trotzdem Fehlermeldungen Java Basics - Anfänger-Themen 2
W Hilfe beim Chat Programm Java Basics - Anfänger-Themen 14
A Java-Programm läuft bei installierter JDK aber nicht mit JRE? Java Basics - Anfänger-Themen 5
J Mein Programm beendet sich ohne mein Zutun Java Basics - Anfänger-Themen 9
I Datei in Programm speichern Java Basics - Anfänger-Themen 3
H Programm compilieren Java Basics - Anfänger-Themen 10
W Java Programm mit API Anbindung Java Basics - Anfänger-Themen 2
D Java Programm mit JavaScript einbinden Java Basics - Anfänger-Themen 8
O Erstes Programm: Matrizen Multiplikation Java Basics - Anfänger-Themen 10
K Programm ausführen Java Basics - Anfänger-Themen 2
X Java Programm MacOS Java Basics - Anfänger-Themen 1
O Programm verstehen :D Java Basics - Anfänger-Themen 4
A Programm in Konsole Java Basics - Anfänger-Themen 4
S Programm als Daemon ausfuehren - wie rufe ich es auf..? Java Basics - Anfänger-Themen 3
A Wie gebe ich bei android eine string im programm aus? Java Basics - Anfänger-Themen 4
A Erklärung Programm zur Kreisberechnung Java Basics - Anfänger-Themen 43
L Fehler im Programm bei Ausgabe Java Basics - Anfänger-Themen 21
F Array-Programm Java Basics - Anfänger-Themen 10
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
V Vererbung Eclipse startet das Programm nicht und rechnet nicht Java Basics - Anfänger-Themen 6
R Primzahlen Zähler Programm / Benachbarte Primzahlen Java Basics - Anfänger-Themen 30
N Verbesserungsvorschläge zu Wegfinder Programm Java Basics - Anfänger-Themen 26
D Warum gibt mir das Programm nicht den Array invertiert an ? Java Basics - Anfänger-Themen 1
J Zugriff auf Variable in anderem Programm Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Anzeige


Oben