ERLEDIGT
NEIN
NEIN
ANTWORTEN
15
15
ZUGRIFFE
855
855
EMPFEHLEN
-
hallo leibe leutz,
habe folgendes problem
private void ergebnis_actionPerformed(ActionEvent e)
{
a=feld1.getText();
b=feld2.getText();
c=a+b;
feld3.setText(c);
}
a,b und c habe ich oben als integer deklariert, bei c soll mit a und b gerechnet werden und dieses ergebnis bei feld3 ausgeben werden, leider weis ich nicht wo mein fehler liegt da es nicht funktioniert und die rechnung soll beim anklicken des button passieren
ich hoffe mir kann jemand helfen, ist bestimmt ganz einfach zu beheben das problem, ich stell mich mal wieder dumm an
danke im voraus
euer christoph
-
Hallo,
bei solchen Fehlern lasse ich mir immer die Werte, die zur Zeit in den einzelnen Variablen stecken, ausgeben...
Das könnte dann so aussehen:
Code :1 2 3 4 5 6 7 8 9 10 11 12
private void ergebnis_actionPerformed(ActionEvent e) { System.out.println("1. a: "+a+" b: "+b+" c: "+c); a=feld1.getText(); b=feld2.getText(); c=a+b; System.out.println("2. a: "+a+" b: "+b+" c: "+c); feld3.setText(c); }
auf diese Weise lassen sich schon viele Fehler entdecken!
Ich hoffe, ich habe keine Fehler eingebaut
Gruß
-
die variablen haben ja noch gar keine wert, die werden ja erst in eintextfeld eingeben und das ausgelesen mit a=feld1.getText();
ich weis echt nicht wo mein fehler ist
Error(139,18): incompatible types; found: java.lang.String, required: int
Error(140,18): incompatible types; found: java.lang.String, required: int
Error(144,9): method setText(int) not found in class javax.swing.JTextField
diese drei sachen schreibt er mir
private void ergebnis_actionPerformed(ActionEvent e)
{
zeile 139 a=feld1.getText();
zeile 140 b=feld2.getText();
zeile 144 c=a+b;
feld3.setText(c);
}
wyatt dein vorschlag ist nicht schlecht aber ich weis ja wo der fehler liegt aber ich weis nicht wie es richtig aussehn muss, ich prog mit dem Jdeveloper 11g
-
Na da haben wir doch den Fehler...
getText(); liefer Strings zurück
setText(); kann nur Strings annehmen
ich habe eben etwas ausprobiert und ich würde das Problem so lösen:
Code :1 2 3 4 5 6 7 8 9 10
private void ergebnis_actionPerformed(ActionEvent e) { String s; a= Integer.parseInt(feld1.getText()); b= Integer.parseInt(feld2.getText()); c=a+b; s= ""+c; feld3.setText(s); }
Die Typen mussten nur gewandelt werden
Hoffe, das hilft dir weiter
Gruß
-
das integer.parseint wandelt denn wert in eine integer um oder?
und was mach dann s=" "+c; kann man das nicht weglassen
vielen vielen vielen dank wyatt (bist der größte
)
-
Ja genau, Integer.parseInt(); wandelt es in einen Int... es gibt noch weitere dieser parse-methoden, die solltest du beherrschen... google einfach mal danachdas integer.parseint wandelt denn wert in eine integer um oder?
und was mach dann s=" "+c; kann man das nicht weglassen
Ich habe gerade Integer.toString(); gefunden... vielleicht funktioniert das... teste es einfach mal aus!
Code :1
s = Integer.toString(c);
Gruß
-
danke das programm funktioniert, nun habe ich noch eine frage habe mein prog erweitert und zwar kann man jetzt aus suchen womit gerechnet werden soll + - * oder / das habe ich durch eine combobox realisiert nur wie kann ich es jetzt auslesen und ihm sagen das er mit diesem zeichen rechnen soll
habe schon gegoogelt aber nicht wirklich was sinnvolles gefunden
danke noch mal im voraus
-
Du kannst dir den markierten Operator (in deinem Fall) zurückliefern lassen mit der Methode getSelectedItem(); und dann mit einer switch-case Anweisung die Rechenmethode bestimmen

Beispiel:
Code :1 2 3 4 5 6 7 8
char op = (char)combobox.getSelectedItem(); switch(op) { case '+' : c = a + b; break; case '-': c = a - b; break; }
Ich hoffe, das Beispiel funktioniert so... bin mir beim Cast nach char etwas unsicher!
Gruß
-
ja hast recht das mit dem cast ist falsch er schreibt mir:
Error(144,11): cannot cast java.lang.Object to char
-
-
leider meckert auch dann rum er sagt mir:
Error(150,10): incompatible types; found: java.lang.String, required: int
an der stelle 150,10 steht das (op)
-
hmmm...
versuch mal immer
Code java:1 2 3 4
case '+': ........... break; case '-': ......... break;
Gruß
-
das geht leider auch nicht, ich füge am besten mal den ganzen quellcode an vielleicht gibt es dann einen besseren überblick was falsch ist an den letzten zeilen
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
package client; import javax.swing.JFrame; import java.awt.BorderLayout; import javax.swing.JPanel; import javax.swing.JLabel; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JToolBar; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JOptionPane; import javax.swing.JTextField; import java.awt.Rectangle; import javax.swing.JComboBox; public class grund extends JFrame { int a; int b; int c; private ImageIcon imageHelp = new ImageIcon(grund.class.getResource("help.gif")); private ImageIcon imageClose = new ImageIcon(grund.class.getResource("closefile.gif")); private ImageIcon imageOpen = new ImageIcon(grund.class.getResource("openfile.gif")); private JButton buttonHelp = new JButton(); private JButton buttonClose = new JButton(); private JButton buttonOpen = new JButton(); private JToolBar toolBar = new JToolBar(); private JLabel statusBar = new JLabel(); private JMenuItem menuHelpAbout = new JMenuItem(); private JMenu menuHelp = new JMenu(); private JMenuItem menuFileExit = new JMenuItem(); private JMenu menuFile = new JMenu(); private JMenuBar menuBar = new JMenuBar(); private JPanel panelCenter = new JPanel(); private BorderLayout layoutMain = new BorderLayout(); private JTextField feld1 = new JTextField(); private JTextField feld2 = new JTextField(); private JTextField feld3 = new JTextField(); private JButton ergebnis = new JButton(); private JComboBox auswahl = new JComboBox(new Object[]{"+","-","*","/" }); public grund() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { this.setJMenuBar(menuBar); this.getContentPane().setLayout(layoutMain); panelCenter.setLayout(null); feld1.setText("jTextField1"); feld1.setBounds(new Rectangle(30, 35, 195, 30)); feld2.setText("jTextField2"); feld2.setBounds(new Rectangle(30, 80, 200, 30)); feld3.setText("jTextField3"); feld3.setBounds(new Rectangle(30, 185, 205, 25)); ergebnis.setText("Rechnen"); ergebnis.setBounds(new Rectangle(90, 135, 85, 30)); ergebnis.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ergebnis_actionPerformed(e); } }); auswahl.setBounds(new Rectangle(270, 65, 80, 30)); this.setSize(new Dimension(400, 300)); menuFile.setText("File"); menuFileExit.setText("Exit"); menuFileExit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { fileExit_ActionPerformed(ae); } }); menuHelp.setText("Help"); menuHelpAbout.setText("About"); menuHelpAbout.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { helpAbout_ActionPerformed(ae); } }); statusBar.setText(""); buttonOpen.setToolTipText("Open File"); buttonOpen.setIcon(imageOpen); buttonClose.setToolTipText("Close File"); buttonClose.setIcon(imageClose); buttonHelp.setToolTipText("About"); buttonHelp.setIcon(imageHelp); menuFile.add(menuFileExit); menuBar.add(menuFile); menuHelp.add(menuHelpAbout); menuBar.add(menuHelp); this.getContentPane().add(statusBar, BorderLayout.SOUTH); toolBar.add(buttonOpen); toolBar.add(buttonClose); toolBar.add(buttonHelp); this.getContentPane().add(toolBar, BorderLayout.NORTH); panelCenter.add(auswahl, null); panelCenter.add(ergebnis, null); panelCenter.add(feld3, null); panelCenter.add(feld2, null); panelCenter.add(feld1, null); this.getContentPane().add(panelCenter, BorderLayout.CENTER); } void fileExit_ActionPerformed(ActionEvent e) { System.exit(0); } void helpAbout_ActionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(this, new grund_AboutBoxPanel1(), "About", JOptionPane.PLAIN_MESSAGE); } private void ergebnis_actionPerformed(ActionEvent e) { String s; a=Integer.parseInt(feld1.getText()); b=Integer.parseInt(feld2.getText()); String op=(String) auswahl.getSelectedItem(); switch(op) { case '+' : ; break; case '-': c = a - b; break; case '*': c=a*b; break; case '/': c=a/b; break; } s=" "+c; feld3.setText(s); } }
hoffe jemand entdeckt den fehler
danke im voraus
-
ok, das nächste mal denke ich erst und schreibe dann, hehe

wir lösen das problem einfach mit einer if-verschachtelung, das habe ich ebe nselbst ausprobiert und es hat geklappt
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14
public void cbActionPerformed(ActionEvent evt) { String s = (String)jComboBox1.getSelectedItem(); if(s.equals("+")) jTextField1.setText("PLUS"); else if(s.equals("-")) jTextField1.setText("MINUS"); else if(s.equals("*")) jTextField1.setText("MAL"); else if(s.equals("/")) jTextField1.setText("DURCH"); else jTextField1.setText("ERROR"); }
Gruß
-
ja das klappt, er schreibt auf den button das was ich ausgewählt habe, wollte aber das a und b rechnet mit dem zeichen
habe es versucht indem ich nach der ersten if anweisung ( also + anweisung)
die rechnung c=a+b; angefügt habe, selbst da meckert rum obwohl das richtig ist
Ähnliche Themen
-
JTabbedPanel + Label.setText funktionieren nicht
Von licht400 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 12Letzter Beitrag: 26.11.08, 07:43 -
SWT Browser setText
Von kleene0105 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 13.06.08, 10:14 -
JTextArea führt setText() nicht aus
Von Nadzieja im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 4Letzter Beitrag: 19.06.07, 21:03 -
statusbar SetText mit 2 IDS texten
Von matriNET im Forum VisualStudio & MFCAntworten: 22Letzter Beitrag: 19.09.05, 06:49 -
SetText
Von thos im Forum C/C++Antworten: 0Letzter Beitrag: 17.06.04, 13:33





Zitieren
Login





