Methoden umrechnung binär/oktal/hexadezimal in dezimalsystem (Methode)

eloxal

Neues Mitglied
hallo leute,
hab probleme bei meinem umrechner den ich für die schule machen muss. Ich wollte dafür ne methode schreiben, indem er anhand des erste zeichen weiss um was es für ein zahlensystem handelt. Zuerst soll er die zahl ins dezimalsystem umwandeln und dann soll er die zahl in 4 verschiedene zahlensysteme zurückgeben. Ich hab gerade ein knoten im kopf, daher komm ich nicht weiter und hoffe auf eure hilfe. :D

Der code:

Java:
public class umrechner extends javax.swing.JFrame {

    /** Creates new form umrechner */
    public umrechner() {
        initComponents();
    }
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    static int zwi = 0;
    static boolean flag = false;

    private void umrechnung(String dez) {
        String input = eingabe.getText(); //die eingabe wird einer variabeln zugewiesen
        switch (input.charAt(0)) { // das 1. zeichen vom string "input" bzw. von der eingabe
            case 'B': //falls das zeichen "B" sein soll
                String bzahl = input.substring(0); // das 1. zeichen wird ingoriert, in diesem fall "B"
                zwi = Integer.parseInt(bzahl, 2); //umwandlung der binärzahl ins dezimalsystem
                
                break;
            case 'Q': //falls das zeichen "Q" sein soll
                String qzahl = input.substring(0); // das 1. zeichen wird ingoriert, in diesem fall "Q"
                zwi = Integer.parseInt(qzahl, 8); //umwandlung der oktalzahl ins dezimalsystem                                           
                
                break;
            case '$': // falls das zeichen "$" sein soll
                String hzahl = input.substring(0); // das 1. zeichen wird ingoriert, in diesem fall "$"
                zwi = Integer.parseInt(hzahl, 16); //umwandlung der hexadezimal ins dezimalsystem
                
                break;
        }

        if (zwi != 0){
            flag = true;
        }
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        eingabe = new javax.swing.JTextField();
        binaerlabel = new javax.swing.JLabel();
        oktalsystemm = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        umrechnen = new javax.swing.JButton();
        ausgabebinaer = new javax.swing.JTextField();
        ausgabeoktal = new javax.swing.JTextField();
        ausgabehexa = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        binärbutton = new javax.swing.JButton();
        oktalbutton = new javax.swing.JButton();
        dezimalbutton = new javax.swing.JButton();
        hexabutton = new javax.swing.JButton();
        jTextField1 = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        eingabe.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        eingabe.setText("0");
        eingabe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                eingabeActionPerformed(evt);
            }
        });

        binaerlabel.setText("Binärsystem:");

        oktalsystemm.setText("Oktalsystem:");

        jLabel1.setText("Dezimalsystem:");

        jLabel2.setText("Hexadezimal:");

        umrechnen.setText("Umrechnen");
        umrechnen.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                umrechnenActionPerformed(evt);
            }
        });

        ausgabebinaer.setBackground(new java.awt.Color(204, 204, 204));
        ausgabebinaer.setEditable(false);
        ausgabebinaer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ausgabebinaerActionPerformed(evt);
            }
        });

        ausgabeoktal.setBackground(new java.awt.Color(204, 204, 204));
        ausgabeoktal.setEditable(false);
        ausgabeoktal.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));

        ausgabehexa.setBackground(new java.awt.Color(204, 204, 204));
        ausgabehexa.setEditable(false);

        jLabel3.setText("Eingabe ist eine ....zahl:");

        binärbutton.setText("Binär");
        binärbutton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                binärbuttonActionPerformed(evt);
            }
        });

        oktalbutton.setText("Oktal");
        oktalbutton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                oktalbuttonActionPerformed(evt);
            }
        });

        dezimalbutton.setText("Dezimal");
        dezimalbutton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                dezimalbuttonActionPerformed(evt);
            }
        });

        hexabutton.setText("Hexadezimal");
        hexabutton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                hexabuttonActionPerformed(evt);
            }
        });

        jTextField1.setBackground(new java.awt.Color(204, 204, 204));
        jTextField1.setEditable(false);

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(binaerlabel, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(umrechnen, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(eingabe, javax.swing.GroupLayout.PREFERRED_SIZE, 407, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addContainerGap(16, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(ausgabehexa, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 383, Short.MAX_VALUE)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                                    .addComponent(jLabel1)
                                    .addGap(309, 309, 309))
                                .addGroup(jPanel1Layout.createSequentialGroup()
                                    .addComponent(jLabel2)
                                    .addGap(319, 319, 319)))
                            .addComponent(oktalsystemm, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jTextField1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 383, Short.MAX_VALUE)
                            .addComponent(ausgabeoktal, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 383, Short.MAX_VALUE)
                            .addComponent(ausgabebinaer, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 383, Short.MAX_VALUE))
                        .addGap(422, 422, 422))))
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(177, 177, 177)
                .addComponent(jLabel3)
                .addContainerGap(521, Short.MAX_VALUE))
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(110, 110, 110)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(dezimalbutton, javax.swing.GroupLayout.DEFAULT_SIZE, 102, Short.MAX_VALUE)
                    .addComponent(oktalbutton, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(hexabutton, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(binärbutton, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(491, 491, 491))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(eingabe, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(oktalbutton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(binärbutton, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(dezimalbutton, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(hexabutton, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(40, 40, 40)
                .addComponent(binaerlabel)
                .addGap(18, 18, 18)
                .addComponent(ausgabebinaer, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(14, 14, 14)
                .addComponent(oktalsystemm)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(ausgabeoktal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(15, 15, 15)
                .addComponent(jLabel2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(ausgabehexa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(37, 37, 37)
                .addComponent(umrechnen, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(41, 41, 41))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 433, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 607, Short.MAX_VALUE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>                        

    private void ausgabebinaerActionPerformed(java.awt.event.ActionEvent evt) {                                              
    }                                             

    private void umrechnenActionPerformed(java.awt.event.ActionEvent evt) {                                          
        while (flag = true) {
            String binaer = Integer.toBinaryString(zwi);
            String oktal = Integer.toOctalString(zwi);
            String hexa = Integer.toHexString(zwi);

            ausgabebinaer.setText(String.valueOf(binaer));
            ausgabeoktal.setText(String.valueOf(oktal));
            ausgabehexa.setText(String.valueOf(hexa));
        }
}                                         

    private void eingabeActionPerformed(java.awt.event.ActionEvent evt) {                                        
}                                       

    private void binärbuttonActionPerformed(java.awt.event.ActionEvent evt) {                                            
        eingabe.setText("B");
    }                                           

    private void dezimalbuttonActionPerformed(java.awt.event.ActionEvent evt) {                                              
        eingabe.setText("");
    }                                             

    private void oktalbuttonActionPerformed(java.awt.event.ActionEvent evt) {                                            
        eingabe.setText("Q");
    }                                           

    private void hexabuttonActionPerformed(java.awt.event.ActionEvent evt) {                                           
        eingabe.setText("$");
    }                                          

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new umrechner().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JTextField ausgabebinaer;
    private javax.swing.JTextField ausgabehexa;
    private javax.swing.JTextField ausgabeoktal;
    private javax.swing.JLabel binaerlabel;
    private javax.swing.JButton binärbutton;
    private javax.swing.JButton dezimalbutton;
    private javax.swing.JTextField eingabe;
    private javax.swing.JButton hexabutton;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JButton oktalbutton;
    private javax.swing.JLabel oktalsystemm;
    private javax.swing.JButton umrechnen;
    // End of variables declaration                   
}
 

KYLT

Mitglied
Hi eloxal
schau dir nochmal ein wenig die API für Strings an:
Code:
String bzahl = input.substring(0);

hier sollte schon input.substring(1); stehen. Was kriegst du sonst noch für fehler?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z Dezimal > Binär-Umrechnung Logikfehler? Java Basics - Anfänger-Themen 8
C Hilfe bei Umrechnung von dezimal nach binär Java Basics - Anfänger-Themen 9
E Umrechnung vom Zehnersystem Java Basics - Anfänger-Themen 2
K Umrechnung Koordinaten zu Winkel Java Basics - Anfänger-Themen 3
J Problem bei Umrechnung von Hex in Bin Java Basics - Anfänger-Themen 4
D Umrechnung dezimal -> oktal | signed/unsigned? Java Basics - Anfänger-Themen 1
K Umrechnung von Zeiten Java Basics - Anfänger-Themen 3
W Fehler bei Umrechnung in Dualsystem Java Basics - Anfänger-Themen 4
T Millisekunden-Umrechnung die 100. Java Basics - Anfänger-Themen 6
E Cosinus berechnen -> Umrechnung in Bogenmaß Java Basics - Anfänger-Themen 11
G Umrechnung Zeit/Temperatur Java Basics - Anfänger-Themen 6
D Umrechnung von Einheiten Java Basics - Anfänger-Themen 7
A Verständnisfrage Sekunden/Tage Umrechnung Java Basics - Anfänger-Themen 3
L Einfache Umrechnung Java Basics - Anfänger-Themen 2
A Umrechnung von € in $ mit Variablen Java Basics - Anfänger-Themen 3
S java.lang.NullPointerException Fehler bei Umrechnung Java Basics - Anfänger-Themen 3
P Umrechnung von Basis b zu Dezimalzahl Java Basics - Anfänger-Themen 7
M Umrechnung von Grad Celsius nach Grad Fahrenheit Java Basics - Anfänger-Themen 9
N Programm zur Umrechnung von DM auf EURO mit for-Schleife Java Basics - Anfänger-Themen 3
C Umrechnung von Zahlensystemen Java Basics - Anfänger-Themen 1
M Binär zu Dezimal Java Basics - Anfänger-Themen 16
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
A Dezinal in Binär Recursiv Java Basics - Anfänger-Themen 6
W Dez-->Binär mit eigener bit Anzahl Erkennung. Java Basics - Anfänger-Themen 3
parrot Binär Addieren Java Basics - Anfänger-Themen 21
J Dezimal in Binär (Array) Java Basics - Anfänger-Themen 2
F Erste Schritte Binär zahle auf 8 stellen aufüllen Java Basics - Anfänger-Themen 2
Orkanson Long Binär darstellen Java Basics - Anfänger-Themen 1
W Dezimalzahl in Binär umwandeln - Was sollte ich an meinem Programm verbessern? Java Basics - Anfänger-Themen 5
L String in Binär umwandeln Java Basics - Anfänger-Themen 4
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
ubaro1 Operatoren Der Tide Operator und positive Ganzzahlen in Binär Java Basics - Anfänger-Themen 1
V Binär in Dezimal Java Basics - Anfänger-Themen 4
T Erste Schritte Nachkommstellen in Binär mit Vekotoren Java Basics - Anfänger-Themen 3
S Umrechner (Dezimal, Hexadezimal und Binär) Java Basics - Anfänger-Themen 3
M hexadezimal in binär mit Hilfe von Shift-Operatoren Java Basics - Anfänger-Themen 6
R Dezimalzahlen zu Binär Java Basics - Anfänger-Themen 3
B datentyp in binär umwandeln Java Basics - Anfänger-Themen 5
S binär string Java Basics - Anfänger-Themen 10
N Binär suchen: Java Basics - Anfänger-Themen 4
A double and add algorithmus für elliptische kurven/ integer binär darstellen Java Basics - Anfänger-Themen 14
K Binär Logisch Und, logisch Oder, subtrahieren Java Basics - Anfänger-Themen 8
G Binär in Byte speichern Java Basics - Anfänger-Themen 7
C dezimal in binär Java Basics - Anfänger-Themen 3
eLogic .txt Testdatei to Binär Java Basics - Anfänger-Themen 2
M Binär -> Dezimal Java Basics - Anfänger-Themen 11
N Umrechung Binär in Dezimal und Hexadezimal Java Basics - Anfänger-Themen 7
F Hex zu Binär Java Basics - Anfänger-Themen 7
Shanks Problem bei Binär überprüfung Java Basics - Anfänger-Themen 3
S Array Daten in Binär Datei schreiben/lesen Java Basics - Anfänger-Themen 11
B Dezimal Binär? Java Basics - Anfänger-Themen 10
H Java Double in Binär, Hex oder Octalzahl wandeln Java Basics - Anfänger-Themen 3
JeromeM90 (Brauche Hilfe) Binär- in Dezimalzahlkonverter Java Basics - Anfänger-Themen 8
N Binär Datei kopieren Java Basics - Anfänger-Themen 2
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
T longs binär verarbeiten Java Basics - Anfänger-Themen 4
G Objekte binär speichern und später wieder einlesen? Java Basics - Anfänger-Themen 7
G char[] binär schreiben? Java Basics - Anfänger-Themen 2
V Binär + Hexadezimal Java Basics - Anfänger-Themen 3
V String mit Hexadezimalzahlen in Binär umwandeln Java Basics - Anfänger-Themen 2
A Binär-Datei versenden übers Internet Java Basics - Anfänger-Themen 2
R String nach Binär-Form Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben