Programm mit Kommazahlen?

Hello @ all,
wie muss ich mein Programm schreiben damit es auch Kommazahlen einlesen kann? Hier mein Quellcode:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
*
* Beschreibung
*
* @version 1.0 vom 06.10.2010
* @author
*/

public class BMI extends JFrame {
// Anfang Attribute
static double zahl1;
static double zahl2;
static double ergebnis;

private JLabel icon = new JLabel(new ImageIcon(„icon.jpg“));
private JLabel label1 = new JLabel();
private JLabel label2 = new JLabel();
private JLabel label3 = new JLabel();
private JButton button1 = new JButton();
private JTextField textField1 = new JTextField();
private JTextField textField2 = new JTextField();
private JTextField textField3 = new JTextField();
// Ende Attribute

public BMI(String title) {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 275;
int frameHeight = 153;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
icon.setBounds(237, 89, 32, 32);
cp.add(icon);
label1.setBounds(8, 8, 90, 16);
label1.setText(„Gewicht: „);
label1.setFont(new Font(„MS Sans Serif“, Font.PLAIN, 13));
cp.add(label1);
label2.setBounds(8, 32, 107, 16);
label2.setText(„Größe: „);
label2.setFont(new Font(„MS Sans Serif“, Font.PLAIN, 13));
cp.add(label2);
label3.setBounds(8, 88, 100, 16);
label3.setText(„Benötigte Liter: „);
label3.setFont(new Font(„MS Sans Serif“, Font.PLAIN, 13));
cp.add(label3);
button1.setBounds(64, 56, 100, 25);
button1.setLabel(„Berechnen“);
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
button1_ActionPerformed(evt);
}
});
cp.add(button1);
textField1.setBounds(120, 8, 126, 24);
textField1.setText(““);
cp.add(textField1);
textField2.setBounds(120, 32, 126, 24);
textField2.setText(““);
cp.add(textField2);
textField3.setBounds(120, 88, 126, 24);
textField3.setText(““);
cp.add(textField3);
// Ende Komponenten

setResizable(false);
setVisible(true);
}

// Anfang Methoden
public void button1_ActionPerformed(ActionEvent evt) {
zahl1 = Integer.parseInt(textField1.getText());
zahl2 = Integer.parseInt(textField2.getText());
ergebnis=zahl1/(zahl2*zahl2);
textField3.setText(""+ergebnis);
}
// Ende Methoden

public static void main(String[] args) {
new BMI(„BMI“);
}
}

Ich bedanke mich schon mal für die Hilfe

LG Denni

Du verarbeitest deine Tastatureingaben zu Integern. Welchen Datentyp haben „Kommazahlen“ ?

Um sowohl „.“ als auch „,“ einlesen zu goennen, schau dir mal die Verwendung von String.replaceAll() an.

MfG Maximus

Hi,

Du verarbeitest deine Tastatureingaben zu Integern. :Welchen Datentyp haben „Kommazahlen“ ?

Keine Ahnung

Um sowohl „.“ als auch „,“ einlesen zu goennen, schau dir mal die Verwendung von String.replaceAll() an.

Ich hab keine Ahnung was ich jetzt ändern muss. Schreib doch einfach die Lösung. Programmiere erst seit 2Wochen

MfG Denni

Nein, ich poste dir nicht die fertige Loesung, da du das auch alleine hinbekommst, wenn du nur mal kurz ueberlegst. Wenn dir hier fertige Loesungen praesentiert werden, wirst du nie besser und lernst nix dazu.

Deine zahl1 / zahl2 haben ja den richtigen Datentyp (double!!!) aber du versuchst mit Integer.parseInt() einen Integer (Datentyp fuer NICHTKommazahlen) zuzuweisen.

Wenn du also diese Zeile korrigierst, kannst du schonmal „Kommazahlen“ von der Konsole einlesen.

Kommazahlen muessen aber immer mit „.“ anstatt mit „,“ eingegeben werden.
Um dieses Problem zu umgehen musst du vor dem Parsen der Eingabe evtl. Kommata durch Punkte ersetzen (String.replaceAll()).

Falls dir das jetzt immernoch nicht zur richtigen Loesung weiterhilft, frag Google mit den richtigen Begriffen.

  • java String zu double
  • java double mit Komma
  • java replaceAll()

Damit solltest du genuegend Codebeispiele finden.

MfG Maximus

hi, ich weiß wirklich nicht weiter, liegt anscheinend an der einen Zeile oder an dem Wort Integer. Bitte Helfe mir doch das erleichtert mir doch das Leben.

Zweiter Treffer bei Google.

http://www.gailer-net.de/tutorials/java/Notes/chap11…

Ohne Eigeninitiative wird das nichts. Du hast Google auch nicht mit den von mir genannten Stichworten bemueht, sonst haettest du selber eine Loesung gefunden.

Hi,
Ich muss jetzt die Zeile Integer.parseInt zu Double.parseDouble ändern. Wie mache ich dass jetzt mit dem „,“?

Liest du auch was ich schreibe?

Falls dir das jetzt immernoch nicht zur richtigen Loesung weiterhilft frag Google mit den richtigen Begriffen.

  • java String zu double
  • java double mit Komma
  • java replaceAll()

Damit solltest du genuegend Codebeispiele finden.

Mehr sag ich zu dem Thema nichtmehr

Hallo,

Du verarbeitest deine Tastatureingaben zu Integern. :Welchen Datentyp haben „Kommazahlen“ ?

Ich hab keine Ahnung was ich jetzt ändern muss. Schreib doch
einfach die Lösung. Programmiere erst seit 2Wochen

Meine allererste Programmierstunde beinhaltete Datentypen und Variablen.
Man sollte vielleicht beim Programmieren erstmal mit den Grundlagen anfangen, damit man dann auch versteht, was man (ab?)schreibt.

Beatrix

Meine allererste Programmierstunde beinhaltete Datentypen und
Variablen.
Man sollte vielleicht beim Programmieren erstmal mit den
Grundlagen anfangen, damit man dann auch versteht, was man
(ab?)schreibt.

  1. Ich weiß was ich schreibe
  2. ich schreibe nicht ab ich wollt lediglich eine Lösung, die ich vergessen hatte.
  3. Ich habe mir alle Grundlagen selbst angeeignet
  4. Und nur weil ich noch keine Programmierstunde hatte, die Datentypen und Variablen beinhaltet hat, heißt das nicht das du mich so angehen sollst!

Du hast letzte Woche gesagt, du wollest das Buch „Java ist auch eine Insel“ lesen.
Haettest du damit angefangen und auch nur die ersten Seiten gelesen, haettest du die Frage beantworten koennen.

Ich habe mir das Buch komplett durch gelesen und da fergisst man halt die ersten seiten wieder bei 1500 Seiten!

Alles klar…

na dann empfehle ich dir das SCJP Buch. Da werden dann auch ausfuehrlich Wrapper und Autoboxing behandelt.

http://www.amazon.de/SCJP-Certified-Programmer-Study…

gibts auch als e-Book.

Wenn du das durchhast, solltest du alles draufhaben, was man so braucht. Kannst dann auch gleich versuchen das entsprechende Zertifikat zu bekommen.

Ich habe mir das Buch komplett durch gelesen und da fergisst man halt die ersten seiten wieder bei 1500 Seiten!

Deswegen sind da Programmbeispiele bei, ich habe C#, C++ und Java auch nicht gelernt in dem ich 3 Bücher gelesen hab.
Nein, ich habe zu jedem Thema ein Programm geschrieben. Und so ein Buch bringt dir auch nix wenn du es in 2 Wochen liest so ein Buch braucht Zeit. Du musst dich mit den Befehlen auseinander setzen und versuchen sie zu verstehen. Wenn du in der Schule eine Arbeit schreibst lernst du auch etwas intensiver und liest dir nicht einfach nur die Bücher durch, nein, du beschäftigst dich eingehend mit den Themen.
Java kann sehr einfach sein aber nur wenn du dich mit der Sprache auseinander setzt.
Lg der einzigware

Ich hab so das Gefühl das ihr mich fertig machen wollt, es geing doch nur um einen kleinen Befehl.

Hi,
ich will dich nicht fertig machen, ich will dich nur dazu motivieren das du dich mit dem Thema beschäftigst ich kenne diese Problematik selbst, zwar nicht im Informatikbereich eher in Kunst und Musik aber ich hab mich mit dem Thema näher beschäftigt und es auch etwas besser verstanden.
Lg der einzigware

Hi,

ich will dich nicht fertig machen, ich will dich nur dazu
motivieren das du dich mit dem Thema beschäftigst.

Ich beschäftige mich doch ich lerne gerade zu Programmieren mit Java, es macht mir spaß und ich habe doch nur einen kleinen Befehl nicht gewusst.

ich kenne diese Problematik selbst.

welche Problematik?

Dennis

Hi,
das du Spaß daran hast ist super, aber die Problematik wie ich sie nenne ist, das du dich scheinbar nicht genug mit dem Buch auseinander gesetzt hast. Meine Empfehlung nochmal schreib zu den Themen des Buches ein paar kleine Programme und guck bei Problemen in das Buch. Ich z.B. habe gar keine Probleme bei der Unterscheidung von „.“ und „,“ vom Programm her.
Ein kleiner Tipp noch, du solltest, falls du es noch nicht hast, dir eine vernünftige IDE zu legen ich arbeite für Java in NetBeans und eclipse.
Lg der eínzigware