Eingabe von Arrays geht über gewünschte Anzahl hinaus

macgyver2710

Mitglied
Hallo,

habe folgendes Problem:
Habe eine GUI erstellt bei der man eine Anzahl an Arrays eingeben kann.
Nach der Eingabe der Anzahl, kann man aber im nächsten Textfeld unendlich viele Arrays eingeben.
Ich hab keinen Schimmer weshalb das so ist. anbei der Sourcecode:e

Problem dürfte an der array_erzeugen() Methode liegen.


Java:
public class Arrayback2 {

	int AnzahlZahlen;
	int ZahlenZähler = 1;
	int ZahlenEingabe;
	
	int anz;
	
	
final JTextField fd1 = new JTextField();
final JTextField fd2 = new JTextField();


	JFrame f1 = new JFrame ("Zahleneingabe");
	JButton b1 = new JButton("Übernehmen");	
	
	JLabel noteL = new JLabel();
	
	JButton b2 = new JButton("Übernehmen");	
	JButton b3 = new JButton("Ende");
	JLabel info = new JLabel();

	
	
	JLabel ein = new JLabel("Eingegebene Zahlen: "); 
	JLabel l4 = new JLabel("Zahlen rückwärts: ");
	
	JLabel rueck = new JLabel();
	
	
	JLabel l7= new JLabel();
	
	JButton b4 = new JButton("Neue Eingabe");
	
	
	
	public static void main(String[] args) {
		
		Arrayback2 start = new Arrayback2();
		start.fenster();
		
		}
	
	
	public void fenster(){
	
		f1.setSize(500,300);
		f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f1.setResizable(false);
		f1.setLayout(null);	
		f1.setLocation(600,350);
			
		JLabel l1 = new JLabel("Anzahl Zahlen");
		l1.setBounds(24,10,140,10);
		f1.add(l1);
	
		
		fd1.setBounds(24,25,40,25);	
		f1.add(fd1);
			
		
		fd2.setBounds(24,75,40,25);	
		f1.add(fd2);
		fd2.setVisible(false);
		
		
//		l3.setBounds(24,140,180,20);
	

		l4.setBounds(39,140,140,20);
		f1.add(l4);
		l4.setVisible(false);
	
		rueck.setBounds(145,140,200,20);
		f1.add(rueck);
		rueck.setVisible(false);
	
		
		l7.setBounds(145,110,300,20);
		f1.add(l7);
		l7.setVisible(false);
		
		ein.setBounds(24,110,120,20);
		f1.add(ein);
		ein.setVisible(false);
		
		
		noteL.setBounds(26,55,60,20);
		noteL.setText(Integer.toString(ZahlenZähler) + " . Zahl");
		noteL.setVisible(false);
		f1.add(noteL);
		
		
		
			
					
			fd1.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent e) {
			ENTERkeypressed (e);
	}
					});
			
			fd2.addKeyListener(new KeyAdapter() {
				public void keyPressed(KeyEvent e) {
				ENTERkeypressed2 (e);
		}
						});
			
			
			
			b4.addKeyListener(new KeyAdapter() {
				
				public void keyPressed(KeyEvent e) {
					
					ENTERkeypressed3(e);
					
					}
						});
		
			
		
		class ButtonListener1 implements ActionListener	  {
			
		public void actionPerformed (ActionEvent e){
			
			arrayanzahl();
			
			
					}
				}
		
		
		b1.setBounds(120,25,110,25);
		f1.add(b1);
		b1.addActionListener(new ButtonListener1());
		
		
		
		class ButtonListener2 implements ActionListener{
			
			public void actionPerformed (ActionEvent e){
				

				array_erzeugen();	
				
				
			    
			}
			
		}
		
		
		
		b2.setBounds(120,75,110,25);
		f1.add(b2);
		
		b2.setVisible(false);
		
		b2.addActionListener(new ButtonListener2());
		
		
		
		
		
		
		class ButtonListener3 implements ActionListener{
			
			public void actionPerformed (ActionEvent e){
				
				System.exit(0);	
				
			}
			
		}
	
		
		
		b3.setBounds(360,220,100,25);
		b3.addActionListener(new ButtonListener3());
		
		
		
		

		f1.add(b3);
		
	
		
		
		class ButtonListener4 implements ActionListener{
			
			public void actionPerformed (ActionEvent e){
		
					
							
		//		neue_berechnung();
			    
			}
			
		}
		
		
		
		b4.setBounds(320,35,140,25);
		b4.addActionListener(new ButtonListener4());
		
		
		
		f1.add(b4);
		b4.setVisible(false);
		
		
		
		f1.setVisible(true);
		
	
		    
		
	
	
	
	}	// Ende Methode fenster
	
	
	

		
	
		private void ENTERkeypressed (KeyEvent e) {
			
		if (e.getKeyCode() == KeyEvent.VK_ENTER) {		
		
			arrayanzahl();		
	
		}	
	}
	
		
	
		private void ENTERkeypressed2 (KeyEvent e) {
			
			if (e.getKeyCode() == KeyEvent.VK_ENTER) {		
			
				array_erzeugen();		
		
			}	
		}
		
		

		
		public void ENTERkeypressed3 (KeyEvent e) {
			
			if (e.getKeyCode() == KeyEvent.VK_ENTER) {		
			
			//	neue_berechnung();		
		
			}	
		}
		
		
		
		
		
		
		
		public void array_erzeugen(){
			
			ein.setVisible(true);
			l7.setVisible(true);
		
			int Feld = 0;
			int Eingabe;
				
			
			int [] Zahlenfeld = new int [AnzahlZahlen];
			
			
			for (Feld = 0 ; Feld < AnzahlZahlen ; Feld++ ) {
			
				
				Eingabe = Integer.parseInt(fd2.getText());		
							
				Zahlenfeld [Feld] = Eingabe;
			
				l7.setText(l7.getText() + Zahlenfeld [Feld] + " ");
				
				fd2.setText("");
			
			
			}
	
			
		
		
			
			
			
			

			fd2.setEditable(false);
			fd2.setFocusable(false);
		
		}
		
		
		
		
		
		
		
		
		
		public void arrayanzahl(){
			
			
			AnzahlZahlen = Integer.parseInt(fd1.getText());      
	
			
			if ((AnzahlZahlen > 10 ) || (AnzahlZahlen < 1)){
			
			JOptionPane.showMessageDialog(null, "Nur Zahlen von 1 bis 10 eingeben."); 
			fd1.setFocusable(true);
			fd1.selectAll();
				
			}
			
			
			else   {
		
		
		
		fd1.setEditable(false);
		fd1.setFocusable(false);
		
		b1.setVisible(false);
	   
		noteL.setVisible(true);
		
	    fd2.setVisible(true);
	    
	    fd2.setFocusable(true);
	    fd2.selectAll();
	    
	    b2.setVisible(true);
	 
			}
		}
	
		
}   // ENDE KLASSE
 

VfL_Freak

Top Contributor
Moin,

Habe eine GUI erstellt bei der man eine Anzahl an Arrays eingeben kann.
Nach der Eingabe der Anzahl, kann man aber im nächsten Textfeld unendlich viele Arrays eingeben.
Ich hab keinen Schimmer weshalb das so ist. anbei der Sourcecode:e

Problem dürfte an der array_erzeugen() Methode liegen.
hmm, so wirklich steige ich durch Deinen Code nicht durch (ziemlich unstrukturiert, zu kryptische Bezeichner usw.) :noe:
Habe ihn aber dadurch letztlich auch nur überflogen ...

Ich vermute allerdings, dass Dein "array_erzeugen" zu früh aufgerufen wird (also vor "arrayanzahl") - oder zumindest werden KANN ...

Gruß
Klaus
 

macgyver2710

Mitglied
Hallo Klaus,

habe den Code nochmals überarbeitet und hoffe er ist jetzt besser leserlich.
Es lassen sich leider immer noch unendlich viele Arrayfelder eingeben:

Java:
public class Array_ausgabe {

	int AnzahlZahlen;
	int ZahlenZähler = 1;
	int ZahlenEingabe;
	
	int anz;
	
	
final JTextField textfeld1 = new JTextField();
final JTextField textfeld2 = new JTextField();


	JFrame f1 = new JFrame ("Zahleneingabe");
	
	
	JLabel noten_label = new JLabel();
	
	JButton ende_button = new JButton("Ende");
	JLabel info_label = new JLabel();

	
	
	JLabel eingegebene_zahlen_label = new JLabel("Eingegebene Zahlen: "); 

	
	JLabel ausgabe_array_label = new JLabel();
	
	
	public static void main(String[] args) {
		
		Array_ausgabe start = new Array_ausgabe();
		start.fenster();
		
		}
	
	
	public void fenster(){
	
		f1.setSize(500,300);
		f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f1.setResizable(false);
		f1.setLayout(null);	
		f1.setLocation(600,350);
			
		JLabel anzahl_zahlen_label = new JLabel("Anzahl Zahlen");
		anzahl_zahlen_label.setBounds(24,10,140,10);
		f1.add(anzahl_zahlen_label);
	
		
		textfeld1.setBounds(24,25,40,25);	
		f1.add(textfeld1);
			
		
		textfeld2.setBounds(24,75,40,25);	
		f1.add(textfeld2);
		textfeld2.setVisible(false);


		ausgabe_array_label.setBounds(145,110,300,20);
		f1.add(ausgabe_array_label);
		ausgabe_array_label.setVisible(false);
		
		eingegebene_zahlen_label.setBounds(24,110,120,20);
		f1.add(eingegebene_zahlen_label);
		eingegebene_zahlen_label.setVisible(false);
		
		
		noten_label.setBounds(26,55,60,20);
		noten_label.setText(Integer.toString(ZahlenZähler) + " . Zahl");
		noten_label.setVisible(false);
		f1.add(noten_label);
		
		
		
			
					
			textfeld1.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent e) {
			ENTERkeypressed (e);
	}
					});
			
			textfeld2.addKeyListener(new KeyAdapter() {
				public void keyPressed(KeyEvent e) {
				ENTERkeypressed2 (e);
		}
						});
			
			
		
		
		class ButtonListener3 implements ActionListener{
			
			public void actionPerformed (ActionEvent e){
				
				System.exit(0);	
				
			}
			
		}
	
		
		
		ende_button.setBounds(360,220,100,25);
		ende_button.addActionListener(new ButtonListener3());
		f1.add(ende_button);
		

		f1.setVisible(true);
		
	
	}	// ENDE METHODE FENSTER
	
	
	

		
	
		private void ENTERkeypressed (KeyEvent e) {
			
		if (e.getKeyCode() == KeyEvent.VK_ENTER) {		
		
			arrayanzahl();		
	
		}	
	}
	
		
	
		private void ENTERkeypressed2 (KeyEvent e) {
			
			if (e.getKeyCode() == KeyEvent.VK_ENTER) {		
			
				array_erzeugen();		
		
			}	
		}
		
		
		
		public void arrayanzahl(){
			
			
			AnzahlZahlen = Integer.parseInt(textfeld1.getText());      
	
			
			if ((AnzahlZahlen > 10 ) || (AnzahlZahlen < 1)){
			
			JOptionPane.showMessageDialog(null, "Nur Zahlen von 1 bis 10 eingeben."); 
			textfeld1.setFocusable(true);
			textfeld1.selectAll();
				
			}
			
			
			else   {
		
		
		
		textfeld1.setEditable(false);
		
		
		noten_label.setVisible(true);
		
	    textfeld2.setVisible(true);
	    
	    textfeld2.requestFocus();
	    textfeld2.selectAll();
	 
			}
		}

		
		
		public void array_erzeugen(){
			
			eingegebene_zahlen_label.setVisible(true);
			ausgabe_array_label.setVisible(true);
		
			int Feld = 0;
			int Eingabe;
				
			
			int [] Zahlenfeld = new int [AnzahlZahlen];
			
			
			for (Feld = 0 ; Feld < AnzahlZahlen ; Feld++ ) {
			
				
				Eingabe = Integer.parseInt(textfeld2.getText());		
							
				Zahlenfeld [Feld] = Eingabe;
			
				ausgabe_array_label.setText(ausgabe_array_label.getText() + Zahlenfeld [Feld] + " ");
				
				textfeld2.setText("");
			
			
			}
		

			textfeld2.setEditable(false);
			textfeld2.setFocusable(false);
		
		}		
}

Ich hoffe du kannst du den Fehler finden, habe schon zik Stunden damit verbraten :(
Vielen Dank vorab.

Lg

Peter
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
kodela Eingabe für TextArray bedingt sperren Allgemeine Java-Themen 3
M Kein Scanner Fehler durch falsche EIngabe Allgemeine Java-Themen 4
N Eingabe wird immer als "false" ausgegeben Allgemeine Java-Themen 6
N String Array Eingabe Allgemeine Java-Themen 6
W Java Telegram Bot - Eingabe durch User Allgemeine Java-Themen 2
M Keine weitere Eingabe in der Main möglich. Eventueller Ansatz über while. Allgemeine Java-Themen 8
G Eingabe auftrennen Allgemeine Java-Themen 3
K OOP Daten addieren sich bei GUI-Eingabe Allgemeine Java-Themen 10
D Flasche Eingabe erkennen Allgemeine Java-Themen 4
K Eingabe mit Char vergleichen klappt nicht! Allgemeine Java-Themen 2
0 Eingabe nicht möglich... Allgemeine Java-Themen 12
Sin137 Interface Eingabe wird doppelt angezeigt Allgemeine Java-Themen 2
C Cmd Eingabe als Administrator Allgemeine Java-Themen 4
J Anzahl der Zeichen bei Eingabe begrenzen Allgemeine Java-Themen 5
S Erste Schritte Arrayliste alphabetisch sortieren mit Eingabe Allgemeine Java-Themen 9
Cayton Bruchrechner stürzt bei eingabe negativer Zahlen ab Allgemeine Java-Themen 4
S Antlr Grammatik übersetzt ohne Fehler, dennoch wird Zahl nicht als Eingabe erkannt Allgemeine Java-Themen 4
M Befehl in Runtime ausführen der Eingabe benötigt Allgemeine Java-Themen 3
Z Taschenrechner größere Eingabe Allgemeine Java-Themen 3
R Programm soll warten bis eine Passwort eingabe gemacht wurde. Allgemeine Java-Themen 6
M Tastatur eingabe über Buttons Allgemeine Java-Themen 15
D zeichenerkennung für umlaute bei eingabe Allgemeine Java-Themen 4
M Eingabe Überprüfen Allgemeine Java-Themen 3
D Batch-Datei Eingabe Allgemeine Java-Themen 2
N IP-Adresse Eingabe abfragen? Allgemeine Java-Themen 4
S Listener Implentierung bei Eingabe in Textfeld Allgemeine Java-Themen 2
P MS Dos Eingabe Allgemeine Java-Themen 7
M JTable: Anzahl Zeichen bei Eingabe Allgemeine Java-Themen 2
G Überprüfung der Eingabe ob Typ korrekt Allgemeine Java-Themen 4
G Problem mit Quellcode, Eingabe wird nicht angezeigt --HELP-- Allgemeine Java-Themen 2
B Programm soll auf die Eingabe vom Mouselistener warten. Allgemeine Java-Themen 19
M Programmablauf nach letzter eingabe erst fortsetzten Allgemeine Java-Themen 2
G eingabe Allgemeine Java-Themen 4
K Warten auf die Eingabe aus Fenster.... Allgemeine Java-Themen 2
B TextField ohne Eingabe Allgemeine Java-Themen 7
H Frage zu Wildcard Eingabe in Java! Allgemeine Java-Themen 5
R Eingabe eines Textfeldes mit Inhalt einer Datei vergleichen Allgemeine Java-Themen 4
L javaformular auf website (eingabe per email zusenden) Allgemeine Java-Themen 3
B Java Eingabe HELP ( eclipse ) Allgemeine Java-Themen 4
F JTextField Eingabe automatisch bestaetigen Allgemeine Java-Themen 17
F Unsichtbare Eingabe Allgemeine Java-Themen 10
C Kettenelemente mit Bezeichner durch eingabe? Allgemeine Java-Themen 4
M Suche , bereits während der eingabe ?? Allgemeine Java-Themen 4
Ü Arrays vergleichen Allgemeine Java-Themen 59
Ü Methoden Arrays vergleichen - Methode Allgemeine Java-Themen 1
Ü Eurobeträge in möglichst wenig Scheine/Münzen zerlegen (2D-Arrays) Allgemeine Java-Themen 27
Buroto Arrays generator Allgemeine Java-Themen 10
B Arrays von Methoden möglich? Allgemeine Java-Themen 44
rosima26 Bester Sortieralgorithmus für kurze Arrays Allgemeine Java-Themen 40
B Lottospiel, genug Reihen tippen für 3 Richtige (Spaß mit Arrays)? Allgemeine Java-Themen 46
Muatasem Hammud Erstellung von Testdaten für Arrays Allgemeine Java-Themen 6
Junger_Basileus Attribute, Arrays, Schleifen Allgemeine Java-Themen 9
P Generics und Arrays Allgemeine Java-Themen 6
O Arrays an DOCX-Stamper Library übergeben Allgemeine Java-Themen 1
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
R Zeilen eines 2d Arrays abwechselnd links und rechts mit Nullen auffüllen Allgemeine Java-Themen 14
R Spalten/Zeilen verschieben in zweidimensionalen Arrays? Allgemeine Java-Themen 3
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
W Spaß mit Arrays Allgemeine Java-Themen 1
W Reflexion und Arrays Allgemeine Java-Themen 7
S Problem mit Arrays Allgemeine Java-Themen 1
D Erste Schritte Arrays vergleichen und die zahlen die nur einmal vorkommen ausgeben Allgemeine Java-Themen 5
J int Werte in einer anderen Klasse in Arrays speichern Allgemeine Java-Themen 3
Neoline Interpreter-Fehler Probleme mit Arrays.toString Allgemeine Java-Themen 7
H Zweidimensionale Arrays Allgemeine Java-Themen 6
Neoline Methoden Zwei Arrays abwechselnd zusammenführen Allgemeine Java-Themen 15
J Methoden clone(), arraycopy(): ein- und zweidimensionale Arrays Allgemeine Java-Themen 8
D Übereinstimmungen in Arrays Allgemeine Java-Themen 5
B Arrays mit Text und Zahlen füllen Allgemeine Java-Themen 3
B Spalten eines 2d-Arrays Allgemeine Java-Themen 2
J Arrays auf gleichheit untersuchen funktioniert nicht Allgemeine Java-Themen 11
N 2 Arrays abwechselnd verbinden Allgemeine Java-Themen 13
J private and arrays Allgemeine Java-Themen 2
T Alle Kombinationen aus zwei Arrays Allgemeine Java-Themen 8
RalleYTN Datentypen Herausfinden ob Object ein Array ist ohne den Typen des Arrays zu kennen? Allgemeine Java-Themen 12
R Rückgabe eines Arrays durch Funktion Allgemeine Java-Themen 9
H Datentypen Typ eines Arrays überprüfen Allgemeine Java-Themen 9
C Zweidimensionale Arrays - Quadratisch? Allgemeine Java-Themen 4
AssELAss Zwei Arrays / ArrayLists inhaltlich vergleichen Allgemeine Java-Themen 2
A Lineare Interpolation mit zwei Arrays Allgemeine Java-Themen 4
S Datentypen Warum ist bei Arrays die Länge als Property aufrufbar? Allgemeine Java-Themen 1
Dechasa Vergleichen von zwei Arrays Allgemeine Java-Themen 4
DanielsLPecke Java Arrays an andere Java Programme schicken und zurück Allgemeine Java-Themen 5
H Arrays Allgemeine Java-Themen 4
J NullPointerExeption bei Inizialisierung eines Arrays Allgemeine Java-Themen 3
D Größe der Zahlenkombinationen eines Arrays begrenzen Allgemeine Java-Themen 3
B automatisch benannte arrays erstellen Allgemeine Java-Themen 9
Y inhalte aus 2 unterschiedlichen Arrays miteinander vergleichen Allgemeine Java-Themen 12
M Arrays.sort Problem Allgemeine Java-Themen 2
F Arrays Allgemeine Java-Themen 2
F Arrays Allgemeine Java-Themen 4
N Werte aus Arrays auslesen funktioniert nicht Allgemeine Java-Themen 5
F mehrdimensionale Arrays Allgemeine Java-Themen 4
A Methoden Generische Methode mit Arrays - Source Compatibility 1.7 benötigt, wieso? Allgemeine Java-Themen 3
S Java Problem bei der Rückgabe eines Arrays Allgemeine Java-Themen 19
I Verschiedene Arrays auslesen Allgemeine Java-Themen 6
R Wie kann man diese Methoden in arrays etablieren? Allgemeine Java-Themen 8
C Best Practice [Arrays] Wie sinnvoll prüfen, ob Array primitive Datentypen enthält? Allgemeine Java-Themen 6
C Best Practice Tiefe Kopie eines Arrays unbekannter Dimension und unbekannten Typs Allgemeine Java-Themen 4
R kann man irgendwie mit Arrays mit Eingabefenstern und Schleifen Werte abklappern? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben