String in Int umwandeln // Von Int wieder in String zurück

Status
Nicht offen für weitere Antworten.
C

creativestyl0r

Gast
moin! habe folgendes problem:
ich versuche gerade ein ganz einfaches programm zu schreiben, wo ich 2 zahlen eingebe und diese dann addiere, multiplizieren oder sonst etwas.
jedoch habe ich folgendes problem. es werden in die jtextfield string werte eingetragen die ich in integer werte umwandeln muss um damit rechnen zu können und später wieder in string zurückgeben. das klappt bei mir jedoch nicht, obwohl ich denke es müsste so gehen, wie ich es gemacht habe.

Code:
feld1 = new JTextField("10");
feld2 = new JTextField("10");
ergebnis = new JTextField("10");

    try
      { feld1 = Integer.parseInt(feld1.getText());
      }
      catch (NumberFormatException e)
      { 
    	  System.out.println("Fehler bei Stringumwandlung 1");
      }

    try
      { feld2 = Integer.parseInt(feld2.getText());
      }
      catch (NumberFormatException e)
      { 
    	  System.out.println("Fehler bei Stringumwandlung");


      e = feld 1 * feld2
      ergebnis = String.valueOf(e);
      ergebnis.setText(ergebnis);

das es so irgendwie schon nicht funktioniert ist eine seite ;)
die andere jedoch ist, das sobald ich das jframe aufrufe, die textfelder noch leer sind, und somit Fehler bei Stringumwandlung immer rauskommt! wie kann ich das umgehen?
 

Jango

Gesperrter Benutzer
Code:
e = feld 1 * feld2
Da fehlt ein Semikolon und der catch-Block ist nicht geschlossen.
Im Zweifel auch immer eine Fehlermeldung mitposten.
 

LordLuzifer

Aktives Mitglied
Der Einfachheit halber hab ich das Ganze gleich mal selbst geschrieben; zwei Felder, in die Werte eingegeben werden, ein Button zum Berechnen (damit umgeht man recht einfach, dass er mit leeren Feldern rechnen will) und ein JLabel, das das Ergebnis ausspuckt.
Such dir raus, was dir gefällt, und frag, wenn du was nicht verstehst, weil aus deinem Code nicht so ganz der Fehler oder die Funktionsweise des Programms hervorgeht.

Code:
package javaapplication94;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Main extends JFrame {

    JTextField feld1 = new JTextField(), feld2 = new JTextField();
    JLabel ergebnis = new JLabel();
    JButton berechne = new JButton("Berechnen");

    public Main() {
        //Frame "herrichten"
        setVisible(true);
        setLayout(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(400, 400);

        //Layout setzen, da null-Layout
        feld1.setBounds(5, 5, 100, 30);
        feld2.setBounds(5, 40, 100, 30);
        berechne.setBounds(5, 75, 100, 30);
        ergebnis.setBounds(5, 110, 100, 30);

        //Berechne-Button eine Funktion geben
        berechne.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                //==>> Hier wird gerechnet
                int wert1 = Integer.parseInt(feld1.getText());
                int wert2 = Integer.parseInt(feld2.getText());
                int erg = wert1 + wert2;
                ergebnis.setText("" + erg);
            }
        });
        
        //Alles dem Frame hinzufügen
        add(feld1);
        add(feld2);
        add(berechne);
        add(ergebnis);
    }

    public static void main(String[] args) {
        new Main();
    }
}


EDIT: Ein Fehler ist mit grade noch aufgefallen bei dir: du schreibst am Ende das Folgende:
Code:
ergebnis = String.valueOf(e);
ergebnis.setText(ergebnis);

???
einfacher so (abgesehen davon dass dein Code so nicht funktioniert):
ergebnis.setText(String.valueOf(e));
oder
ergebnis.setText(""+e);

Ob's nur daran liegt kann ich aber nicht sagen.
 
C

creativestyl0r

Gast
hallo,
schonmal danke für die hilfe.
habe den letzten rat befolgt und es geändert jedoch funktioniert es trotzdem nicht.
mit button wollte ich es nicht regeln, sondern wenn man beide nach ein ander eingibt, das das ergebnis halt einfach so da kommt.
und deswegen ist es am anfang immer leer und er meckert.gibt es da eine einfache möglichkeit?
 

LordLuzifer

Aktives Mitglied
Wenn du diese beiden Befehle in den Konstruktur einfügst, funktioniert es. Ich hab einfach KeyListener auf beide TextFields registriert und sobald eine Taste losgelassen wird, rechnet er.
Code:
        feld1.addKeyListener(new KeyListener() {

            public void keyTyped(KeyEvent e) {}

            public void keyPressed(KeyEvent e) {}

            public void keyReleased(KeyEvent e) {                berechne();
            }
        });

        feld2.addKeyListener(new KeyListener() {

            public void keyTyped(KeyEvent e) {}

            public void keyPressed(KeyEvent e) {}

            public void keyReleased(KeyEvent e) {
                berechne();
            }
        });

Und die Methode berechne():

Code:
private void berechne() {
        //==>> Hier wird gerechnet
//Überprüfen, ob noch eins der beiden Felder leer ist;
//wenn ja, wird nicht gerechnet
        if (feld1.getText().equals("") || feld2.getText().equals("")) {
            return;
        }
        int wert1 = Integer.parseInt(feld1.getText());
        int wert2 = Integer.parseInt(feld2.getText());
        int erg = wert1 + wert2;
        ergebnis.setText("" + erg);
    }
 
C

creativestyl0r

Gast
Hallo,
danke für dein Quellcode, habe ihn so übernommen.
Habe noch eine Frage. Wie sieht es aus, wenn man den KeyListener in einer extra Klasse packt?
Was müsste ich dann alles programmieren?

Habe folgendermaßen angefangen:

Code:
public class KeyL implements KeyListener {


public void keyTyped(KeyEvent e) {
		  
	  } 

      public void keyPressed(KeyEvent e) {
    	  
      } 

      public void keyReleased(KeyEvent e) {  
    	  if (tf1.getText().equals("") || tf2.getText().equals("")) { 
              return; 
          } 
          int wertePreis = Integer.parseInt(tf1.getText()); 
          int wertMenge = Integer.parseInt(tf2.getText()); 
          int erg = tf1 * tf2; 
          ergebnistf.setText("" + erg); 
      }



}

Jedoch funktioniert es nicht, weil ich das mit der Objekterzeugung nicht ganz hinbekomme,
weil so kann ich irgendwie in der anderen Klasse nicht darauf zugreifen.
 
S

SlaterB

Gast
dann beschreib mal irgendwie, wie der aktuelle Code dort ist und welche Fehlermeldung usw.

grob gehts mit
irgendwer.addKeyListener(new KeyL());
 
C

creativestyl0r

Gast
meine normale version läuft schon nun wollte ich es mit listener schwieriger machen und versteh nix mehr :-D

Code:
package ueben;


import java.awt.Container;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;


public class multi extends JFrame {
	
	JTextField tf1;
	JTextField tf2;
	JLabel ergebnis;
	   
	
	public static void main(String[] args) {
		
			multi m = new multi();
		   m.pack();
		   m.setVisible(true);
		   m.setSize(400, 300);
	    
	 }
	   
	   multi() {
		      
		  tf1 = new JTextField(10);
		  tf2 = new JTextField(10);
		  ergebnis = new JLabel();
		  
		  Container cp = getContentPane();
		  cp.setLayout(null);
		   
		   cp.add(tf1);
		   cp.add(tf2);
		   cp.add(ergebnis);
		   
		   tf1.addKeyListener(new KeyL());
		
		   
		   
		   tf2.addKeyListener(new KeyL()); 
		   
	   
	   
	   private void berechnen() {
	        if (tf1.getText().equals("") || tf1.getText().equals("")) {
	            return;
	        }
	        int wert1 = Integer.parseInt(tf1.getText());
	        int wert2 = Integer.parseInt(tf2.getText());
	        int erg = wert1 * wert2;
	        ergebnis.setText("" + erg);
	    }
	    	  
	   
}

class KeyL implements KeyListener {
	
	   public void keyTyped(KeyEvent e) {}

       public void keyPressed(KeyEvent e) {}

       public void keyReleased(KeyEvent e) {  
    	   berechnen();
        }
    }
 
S

SlaterB

Gast
ist noch eine Frage offen?

von der Klasse KeyL kannst du kaum auf berechnen() in multi zugreifen,
da müsstest du mult als Parameter im Konstruktor übergeben und in KeyL vermerken,

oder die drei TextFelder mitgeben und dann berechnen() nach KeyL verschieben,

solche Probleme hast du immer wenn du auf viele JFrame-Elemente wie TextFelder zugreifen musst
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
S String umwandeln Java Basics - Anfänger-Themen 6
K String in Integer umwandeln Java Basics - Anfänger-Themen 4
R Eingabe String umwandeln zu Integer Werten Java Basics - Anfänger-Themen 8
L String in Integer umwandeln Java Basics - Anfänger-Themen 3
R Kompletten String umwandeln in Integer Java Basics - Anfänger-Themen 10
Orkanson Datentypen Integer in String umwandeln/hinzufügen Java Basics - Anfänger-Themen 3
geekex Double zu String umwandeln in einer Methode Java Basics - Anfänger-Themen 28
MiMa String in Gross und Kleinbuchstaben umwandeln Java Basics - Anfänger-Themen 10
H JCalendar in String umwandeln Java Basics - Anfänger-Themen 9
L String in Binär umwandeln Java Basics - Anfänger-Themen 4
W String auf char[] umwandeln Java Basics - Anfänger-Themen 3
C Array in String umwandeln Java Basics - Anfänger-Themen 5
I String zu File umwandeln Java Basics - Anfänger-Themen 2
N Collections String in HashMap umwandeln Java Basics - Anfänger-Themen 3
L Java CMD Console in String umwandeln? Java Basics - Anfänger-Themen 2
D String zu int umwandeln Java Basics - Anfänger-Themen 2
W String Array in Int umwandeln um auf Zahl zu überprüfen Java Basics - Anfänger-Themen 4
D String in FileInputStream umwandeln Java Basics - Anfänger-Themen 2
V String in Byte umwandeln Java Basics - Anfänger-Themen 11
S Element von List<E> in String umwandeln Java Basics - Anfänger-Themen 3
AssELAss String in Datum umwandeln Java Basics - Anfänger-Themen 4
J array in String umwandeln Java Basics - Anfänger-Themen 1
J array in String umwandeln Java Basics - Anfänger-Themen 3
1 Binärdarstellung (als String) in Dezimalzahl umwandeln Java Basics - Anfänger-Themen 8
X Datentypen Int oder String in Bits/Bytes umwandeln Java Basics - Anfänger-Themen 10
W Datentypen String in Quellcode umwandeln Java Basics - Anfänger-Themen 25
J int mit führenden Nullen in String umwandeln Java Basics - Anfänger-Themen 5
A String in Double umwandeln mit Tests Java Basics - Anfänger-Themen 3
S ArrayList<Byte> in String umwandeln Java Basics - Anfänger-Themen 5
M String in Datum umwandeln mit SimpleDateFormat Java Basics - Anfänger-Themen 3
A String(Ascii ) in String umwandeln Java Basics - Anfänger-Themen 3
M set<String> in ein StringArray umwandeln? Java Basics - Anfänger-Themen 3
F ArrayList<ArrayList<String>> to String[][] umwandeln? Java Basics - Anfänger-Themen 9
B Unbekannte Zahl aus einem String umwandeln Java Basics - Anfänger-Themen 15
T String spliten und in BigInteger umwandeln Java Basics - Anfänger-Themen 3
G File in String umwandeln. (Variable) Java Basics - Anfänger-Themen 4
S Input/Output String in byte umwandeln? Java Basics - Anfänger-Themen 5
F Probleme beim umwandeln von String in Int Java Basics - Anfänger-Themen 10
D Erste Schritte String Array in char Array umwandeln? Java Basics - Anfänger-Themen 1
A string bitweise in long umwandeln Java Basics - Anfänger-Themen 7
A String in int umwandeln Java Basics - Anfänger-Themen 14
M String Datei in Float-Matrix umwandeln Java Basics - Anfänger-Themen 8
J Ascii Zeichen von einem String umwandeln und ausgeben Java Basics - Anfänger-Themen 11
W Datentypen double in String umwandeln Java Basics - Anfänger-Themen 2
H Exception beim umwandeln von String zu int Java Basics - Anfänger-Themen 4
R String in ein Int Array umwandeln Java Basics - Anfänger-Themen 3
M string in ein xml-object umwandeln Java Basics - Anfänger-Themen 11
T String in ein multidimensionales Array umwandeln Java Basics - Anfänger-Themen 4
M String in Quellcode umwandeln Java Basics - Anfänger-Themen 9
B int in String umwandeln Java Basics - Anfänger-Themen 35
V Zahleneingabe als String in Char umwandeln Java Basics - Anfänger-Themen 4
A Datentypen Typ der Arraylist in String umwandeln Java Basics - Anfänger-Themen 23
K String in Char umwandeln ??? Java Basics - Anfänger-Themen 2
S JSON String in Object umwandeln Java Basics - Anfänger-Themen 3
-horn- Kann man Code als String einladen, umwandeln und ausführen lassen? Java Basics - Anfänger-Themen 8
N Map<String, HashSet<String>> Umwandeln in Map<String, ArrayList<String>> Java Basics - Anfänger-Themen 14
L File in String umwandeln Java Basics - Anfänger-Themen 10
P Datum: String in Date umwandeln Java Basics - Anfänger-Themen 7
W String in boolean umwandeln Java Basics - Anfänger-Themen 44
F int in String umwandeln Java Basics - Anfänger-Themen 9
C Binärzahl vom Typ String in eine Zahl vom Typ Integer umwandeln Java Basics - Anfänger-Themen 4
M String(Binärzahl) in Dezimal umwandeln Java Basics - Anfänger-Themen 4
A String in Integer umwandeln Java Basics - Anfänger-Themen 17
Mike90 Umwandeln von String in String[] ? Java Basics - Anfänger-Themen 23
S String in Char umwandeln Java Basics - Anfänger-Themen 9
S Hex-String in Ascii-String umwandeln! Java Basics - Anfänger-Themen 7
E String Ip in InetAddress umwandeln Java Basics - Anfänger-Themen 4
Spot84 long von getCreationDate in String umwandeln Java Basics - Anfänger-Themen 4
S binärer string in negativen int umwandeln Java Basics - Anfänger-Themen 4
R Hex-String in LongInt umwandeln Java Basics - Anfänger-Themen 2
N string in charArray umwandeln Java Basics - Anfänger-Themen 19
Z String umwandeln Java Basics - Anfänger-Themen 4
G integer in String umwandeln Java Basics - Anfänger-Themen 1
D File mit String in File umwandeln ? Java Basics - Anfänger-Themen 4
W [Solved] String in Datum umwandeln Java Basics - Anfänger-Themen 5
M Variablenbezeichner in einen String umwandeln Java Basics - Anfänger-Themen 4
S Datum umwandeln: String in Date umwandeln Java Basics - Anfänger-Themen 4
D SimpleDateFormat in String umwandeln Java Basics - Anfänger-Themen 7
R Probleme beim umwandeln eines String zu einem Int Wert Java Basics - Anfänger-Themen 3
U String in URL umwandeln Java Basics - Anfänger-Themen 60
A Datentyp String in char umwandeln Java Basics - Anfänger-Themen 3
M String in int umwandeln und in Array ablegen Java Basics - Anfänger-Themen 6
G String in java.sql.Date umwandeln Java Basics - Anfänger-Themen 4
D String in HTML umwandeln Java Basics - Anfänger-Themen 4
G String in Document Umwandeln Java Basics - Anfänger-Themen 2
G String in Date Format umwandeln Java Basics - Anfänger-Themen 8
G String in InputStream umwandeln? Java Basics - Anfänger-Themen 8
S String in ACSII Zahlen umwandeln Java Basics - Anfänger-Themen 10
S String umwandeln in Comparable Java Basics - Anfänger-Themen 6
G String buchstaben in Zahlen umwandeln Java Basics - Anfänger-Themen 5
M Stream in String umwandeln Java Basics - Anfänger-Themen 5
V String mit Hexadezimalzahlen in Binär umwandeln Java Basics - Anfänger-Themen 2
A String umwandeln Java Basics - Anfänger-Themen 2
J String in int umwandeln Java Basics - Anfänger-Themen 5
G Int-Queue in String-Queue umwandeln Java Basics - Anfänger-Themen 5
P String in Binärcode umwandeln Java Basics - Anfänger-Themen 8
F Integer zu String umwandeln Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben