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.
Der code:
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.
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
}