For schleife mit Array und Objekten

ChrisB.

Mitglied
Guten Tag,
und zwar möchte ich meinem Array von verschiedenen Objekten die Werte zuweisen.

Ich wollte das so lösen, aber leider geht das nicht:

Java:
      	     for(int i=0; i<=6; i++)
      	     {
      	    	arrayR[i] = (int) sp_R[i].getValue();
      	    	
      	     }

In Delphi musste ich meine ich die Komponente suchen und dort dann "" in die such Funktion mit einbauen, ich weiß aber nicht wie das in Java funktioniert.

Ich hoffe ihr könnt mir da weiter helfen.

Edit:

In Delphi sieht das so ungefähr aus mit der angesprochenen Suchfunktion:

Code:
    (FindComponent('sp_R'+IntToStr(i)) as TLabel).caption:= 
      'Test';
 
Zuletzt bearbeitet:

X5-599

Top Contributor
Was geht denn genau nicht? Wenn dein arrayR Array von Typ int ist und die getValue() Methode etwas zurückgibt was sich auf int casten lässt, gibt es keine Probleme.
 

ChrisB.

Mitglied
Das Problem ist, dass er das Objekt also den Teil:

Java:
sp_R[i].getValue();

mit dem drinne nicht annimmt.
In Delphi hatte ich genau das gleiche Problem, bis ich das eben mit dieser FindComponent Methode gelöst habe.
 
Zuletzt bearbeitet:

njans

Top Contributor
Dann macht getValue() auch keinen Sinn. int ist ein Primitiver Typ, das ist kein Objekt und hat demnach auch keine Methoden.
Der Wert von sp_R ist einfach sp_R. Da musst du nichts weiter dran aufrufen.
 

X5-599

Top Contributor
Wenn er das i nicht annimt, ist sp_R eben kein Array. Die Schreibweise variable[0], variable[1], variable[2] ... variable ist für den Zugriff auf Array Felder vorgesehen. variable ist also ein Array. Von welchem Typ ist dabei egal. In den eckigen Klammern [] steht der Index des Feldes/Elements, das man ansprechen möchte.
 

ChrisB.

Mitglied
Du meinst doch so oder?

Java:
      	     for(int i=0; i<=6; i++)
      	     {
        	    arrayR[i] = sp_R[i]	;
      	    	
      	     }

Weil das funktioniert auch nicht.
Die Fehlermeldung die da kommt lautet: sp_R can not be resolved to a variable.

Edit:

sp_R ist auch kein Array, sondern sind Komponente auf dem Frame.
ich will von einem JSpinner, welche wie folgt heißen:
sp_R1 ; sp_R2 ; sp_R3 ; sp_R4 ; sp_R5 ; sp_R6
deren Werte auf ein Array mit 6 Feldern bringen
 
Zuletzt bearbeitet:

X5-599

Top Contributor
Wir spekulieren hier jetzt nur noch. Du müsstes mal mehr von deinem Code zeigen. Wir wissen zb nicht genau von welchem Typ "arrayR" ist oder von welchem Typ "sp_R" ist.
 

ChrisB.

Mitglied
Java:
      final JToggleButton btn_startstop = new JToggleButton("Ventilator starten");
      btn_startstop.addActionListener(new ActionListener() {
      	public void actionPerformed(ActionEvent arg0) 
      	{
      		double I,Uges = 0,Leistung =0,Rveh = 0;
      	    int arrayR[] = new int[6];
      	    int arrayU[] = new int[6];
      	    
      		if (btn_startstop.getText() == "Ventilator starten") 
      		{
      		 btn_startstop.setText("Ventilator beenden");
      		 
      		
      		 
      		 
      		 
      	     for(int i=0; i<=6; i++)
      	     {
        	    arrayR[i] = sp_R[i]	;
      	    	
      	     }
      		}
      		else
      		{
      			btn_startstop.setText("Ventilator starten");
      		}
        }
      });

Habe meinen einen Beitrag noch editiert und aufgeklärt, dass sp_R kein Array ist, sondern mit den anhängenden Zahlen von 1-6, verschiedene jSpinner sind.
 
Zuletzt bearbeitet:

ChrisB.

Mitglied
Nein war nicht gewollt, aber danke.
Dachte zwar wenn ich 6 reinschreibe sind auch 6 Felder da aber ist wohl dem nicht so.
Habe das nun auf Array[7] umgeschrieben.
 
Zuletzt bearbeitet:

X5-599

Top Contributor
Ich denke jetzt habe ich verstanden was du erreichen möchtest. Du könntest grafische Komponenten eines Containers per getComponent(int) bekommen. Ich denke aber dass man nicht genau sagen kann an welchem Index sich die gewünschten Komponenten befinden.

Stattdessen würde ich zb ein Array anlegen das alle JSpinner enthält. Das sähe dann so aus:

Java:
public class DeineKlasse
{
    private JSpinner[] alleSpinner;

    public DeineKlasse()
    {
        alleSpinner = new JSpinner[6];

        //Die sp_R müssen natürlich vorher erzeugt worden sein...
        alleSpinner[0] = sp_R1;
        alleSpinner[1] = sp_R2;
        alleSpinner[2] = sp_R3;
        alleSpinner[3] = sp_R4;
        alleSpinner[4] = sp_R5;
        alleSpinner[5] = sp_R6;
    }


    private void sonstigeMethode()
    {
        for(int i = 0; i < 6; i++)
        {
            arrayR[i] = (Integer)alleSpinner[i].getValue();
        }
    }
}


Nebenbei sind 6 Felder da. Arrays gehen in Java aber bei Index 0 los. Also ist der höchste zulässige Index (das letzte Element im Array) bei einem Array mit 6 Feldern die 5.
 

ChrisB.

Mitglied
Ja ich glaube du hast verstanden was ich wollte.
Ich habe es so eingebaut:

Java:
public class Main extends JFrame implements ActionListener
{



	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	
		
	private JSpinner[] alleSpinner; 
    
    

	
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Main frame = new Main();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}



	/**
	 * Create the frame.
	 */
	public Main() {
		getContentPane().setFont(new Font("Tahoma", Font.PLAIN, 11));
		setTitle("Ventilator");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 593, 470);
		MainMenu();
		Komponenten();
	}


Java:
public void Komponenten()
	{
		JSpinner sp_R1 = new JSpinner();
	      sp_R1.setFont(new Font("Tahoma", Font.PLAIN, 11));
	      sp_R1.setModel(new SpinnerNumberModel(new Double(0), null, null, new Double(1)));
	      sp_R1.setToolTipText("Wert vom R1 Widerstand");
	      sp_R1.setBounds(338, 60, 50, 30);
	      getContentPane().add(sp_R1);
	      
	      JSpinner sp_R2 = new JSpinner();
	      sp_R2.setFont(new Font("Tahoma", Font.PLAIN, 11));
	      sp_R2.setModel(new SpinnerNumberModel(new Double(0), null, null, new Double(1)));
	      sp_R2.setToolTipText("Wert vom R2 Widerstand");
	      sp_R2.setBounds(338, 101, 50, 30);
	      getContentPane().add(sp_R2);
	      
	      JSpinner sp_R3 = new JSpinner();
	      sp_R3.setFont(new Font("Tahoma", Font.PLAIN, 11));
	      sp_R3.setModel(new SpinnerNumberModel(new Double(0), null, null, new Double(1)));
	      sp_R3.setToolTipText("Wert vom R3 Widerstand");
	      sp_R3.setBounds(338, 142, 50, 30);
	      getContentPane().add(sp_R3);
	      
	      JSpinner sp_R4 = new JSpinner();
	      sp_R4.setFont(new Font("Tahoma", Font.PLAIN, 11));
	      sp_R4.setModel(new SpinnerNumberModel(new Double(0), null, null, new Double(1)));
	      sp_R4.setToolTipText("Wert vom R4 Widerstand");
	      sp_R4.setBounds(338, 183, 50, 30);
	      getContentPane().add(sp_R4);
	      
	     JSpinner sp_R5 = new JSpinner();
	      sp_R5.setFont(new Font("Tahoma", Font.PLAIN, 11));
	      sp_R5.setModel(new SpinnerNumberModel(new Double(0), null, null, new Double(1)));
	      sp_R5.setToolTipText("Wert vom R5 Widerstand");
	      sp_R5.setBounds(338, 224, 50, 30);
	      getContentPane().add(sp_R5);
	      
	      JSpinner sp_R6 = new JSpinner();
	      sp_R6.setFont(new Font("Tahoma", Font.PLAIN, 11));
	      sp_R6.setModel(new SpinnerNumberModel(new Double(0), null, null, new Double(1)));
	      sp_R6.setToolTipText("Wert vom R6 Widerstand");
	      sp_R6.setBounds(338, 265, 50, 30);
	      getContentPane().add(sp_R6);
	      
	      JSpinner sp_Rven = new JSpinner();
	      sp_Rven.setFont(new Font("Tahoma", Font.PLAIN, 11));
	      sp_Rven.setModel(new SpinnerNumberModel(new Double(0), null, null, new Double(1)));
	      sp_Rven.setToolTipText("Wert vom Ventilator Widerstand");
	      sp_Rven.setBounds(157, 211, 50, 30);
	      getContentPane().add(sp_Rven);
	      
	      alleSpinner = new JSpinner[6];
	      

	      alleSpinner[0] = sp_R1;
	      alleSpinner[1] = sp_R2;
	      alleSpinner[2] = sp_R3;
	      alleSpinner[3] = sp_R4;
	      alleSpinner[4] = sp_R5;
	      alleSpinner[5] = sp_R6;
	      
	      final JToggleButton btn_startstop = new JToggleButton("Ventilator starten");
	      btn_startstop.addActionListener(new ActionListener() {
	      	public void actionPerformed(ActionEvent arg0) 
	      	{
	      		
	      		
	      		double I = 0.0,Uges = 0.0,Leistung = 0.0,Rveh = 0.0, Rges = 0.0;
	      	    int arrayR[] = new int[7];
	      	    int arrayU[] = new int[7];
	      	    
	      		if (btn_startstop.getText() == "Ventilator starten") 
	      		{
	      		 btn_startstop.setText("Ventilator beenden");
	      		 
	      		 
	      	     for(int i=0; i<=6; i++)
	      	     {
	      	    	arrayR[i] = (Integer)alleSpinner[i].getValue();
	         		Rges = Rges + (Integer)alleSpinner[i].getValue();	
	         		System.out.println(arrayR[i]);
	      	     }    
	      	    
	      		}
	      		else
	      		{
	      			btn_startstop.setText("Ventilator starten");
	      		}
	        }
	      });

Laut dem letzten Befehl in der Forschleife sollte er mir doch zum Testzwecken die Liste der Werte von den einzelnen JSpinner in die Console eintragen oder nicht? Weil das tut er nicht. Kompelieren schon also Fehlermeldugen habe ich keine!
 

X5-599

Top Contributor
Was macht er denn statt dessen? Ach und die Zeile:

Java:
 if (btn_startstop.getText() == "Ventilator starten")

solltest du so ändern:

Java:
 if (btn_startstop.getText().equals("Ventilator starten"))


Strings werden in Java nicht mittels == verglichen. Da es sich um Objekte handelt und == bei Objekten die Identität vergleicht und nicht den Inhalt.
 

ChrisB.

Mitglied
Okey danke für den Tipp.

Stattdessen, das ist eine gute Frage, also nichts was man merken würde. Auch in die Console schreibt er nichts, als führe er den erst gar nicht aus.
Auch wenn ich

Java:
System.out.println("asd");

reinschreibe, schreibt er nichts in die Console.
 

Natac

Bekanntes Mitglied
Die Ausgabe erfolgt nur, wenn du auf den Button klickst. Was du nicht kannst, weil du den Button nicht zu deinem ContentPane hinzufügst. Also siehst du auch keinen Button, auf den du klicken könntest ;).

Btw: wie wäre es mit einer Methode zum erzeugen der JSpinner:
Java:
JSpinner createSpinner(String label, int x, int y, int width, int height)
 

ChrisB.

Mitglied
Das stimmt aber so nicht, den Button sehe ich und kann ihn auch bedienen ;).
Habe auch diesen Windowdesigner laufen, dort ist er auch drauf.

Edit: Aber ich verstehe schon, das ist nicht der ganze Code, darunter kommen weitere Komponenten die ich erstelle, darunter auch der Button
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
H mit Schleife ein Array mit Objekten füllen Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
D EinMalEins mithilfe einer for-Schleife und Array Java Basics - Anfänger-Themen 1
sgtcoopa Array übergeben Schleife Java Basics - Anfänger-Themen 0
D Array mit while-schleife Java Basics - Anfänger-Themen 12
S Mit for-Schleife ein 2D JLabel-Array mit veränderbaren Icons erstellen Java Basics - Anfänger-Themen 3
S Array mit for-Schleife besetzen Java Basics - Anfänger-Themen 7
T Methode um Array mit for-each-Schleife auszulesen Java Basics - Anfänger-Themen 7
D Doppelte For Schleife / Array Java Basics - Anfänger-Themen 3
TimoN11 Array -> Schleife wieder von vorne durchlaufen lassen Java Basics - Anfänger-Themen 1
T Variable in for Schleife ansprechen ohne Array ? Java Basics - Anfänger-Themen 25
A eine neue normale String-Array von einer String-Array, die in for schleife ist, schaffen Java Basics - Anfänger-Themen 3
I Java zweidimensionales array befüllen mit for-schleife Java Basics - Anfänger-Themen 2
M Ist es möglich, das größte und zweitgrößte element in einem Array mit nur einer Schleife ausfindig zu machen ? Java Basics - Anfänger-Themen 19
G while schleife mit array Java Basics - Anfänger-Themen 12
krgewb Erweiterte for-Schleife für 2D-Array Java Basics - Anfänger-Themen 4
B Array via Schleife mit ungeraden bzw geraden Zahlen füllen Java Basics - Anfänger-Themen 7
N Anfang eine Array Schleife finden Java Basics - Anfänger-Themen 18
N Methode mit While-Schleife und If-Bedingung und Array-Initialisierung Java Basics - Anfänger-Themen 4
V Erste Schritte Array.length[x] in einer Schleife - ich verstehe das nicht Java Basics - Anfänger-Themen 1
K Array mit for-each Schleife füllen Java Basics - Anfänger-Themen 5
W Erste Schritte füllen Attribute java Klasse in for Schleife und Array Java Basics - Anfänger-Themen 16
S For Schleife Char Array Java Basics - Anfänger-Themen 1
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
S Array mit "foreach"-Schleife und nextInt (aus Scanner) beschreiben Java Basics - Anfänger-Themen 6
J Werte der For-Schleife in Array abspeichern Java Basics - Anfänger-Themen 1
T Array in Schleife Java Basics - Anfänger-Themen 5
D Array in for-Schleife ausgeben Java Basics - Anfänger-Themen 3
J Einem String-Array in einer for-Schleife Strings zuweisen - Klappt nicht in einer for-Schleife Java Basics - Anfänger-Themen 5
R Erste Schritte 2D-Array: Zeilen & Spalten ohne schleife übergeben? Java Basics - Anfänger-Themen 3
L Falsches Array ausgegeben aufgrund von Fehler in Schleife (??) Java Basics - Anfänger-Themen 6
J For Schleife mit Array funktioniert nicht!? Java Basics - Anfänger-Themen 5
M For schleife mit Array Java Basics - Anfänger-Themen 5
N erweitere for-schleife array Java Basics - Anfänger-Themen 4
S Zweidimensionales Array mit Schleife summieren Java Basics - Anfänger-Themen 2
L String aus eingelesener XML (Schleife) in String Array ablegen Java Basics - Anfänger-Themen 13
B Schleife und Array Java Basics - Anfänger-Themen 18
C Schleife mit Array funktioniert nicht Java Basics - Anfänger-Themen 4
E foreach schleife nur mit int-Array ? Java Basics - Anfänger-Themen 2
G for-Schleife in zweidimensionalen Array ausgeben Java Basics - Anfänger-Themen 2
G Array mit Schleife durchlaufen - guter Stil? Java Basics - Anfänger-Themen 20
G Methodenaufruf in der for-Schleife mit Array Java Basics - Anfänger-Themen 7
J array in for-Schleife auslesen? Java Basics - Anfänger-Themen 6
G Zweidimensinales String array über for Schleife beschreiben Java Basics - Anfänger-Themen 20
M Array und Schleife Java Basics - Anfänger-Themen 2
M While-Schleife mit Wartezeit Java Basics - Anfänger-Themen 15
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
DrahtEck Schleife soll wieder da anfangen wo ich es möchte ! Java Basics - Anfänger-Themen 17
Ranger229 Endless loop in while Schleife Java Basics - Anfänger-Themen 3
MaZ Quadrat Schleife(Pyramide) Java Basics - Anfänger-Themen 9
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
P Wie kann diese Schleife beenden Java Basics - Anfänger-Themen 1
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
T Variable in Schleife deklarieren, Speicherplatz, Garbage Collector Java Basics - Anfänger-Themen 10
Ostkreuz While Schleife neustarten Java Basics - Anfänger-Themen 20
S Verschachtelte for-Schleife Java Basics - Anfänger-Themen 2
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
laxla123 Verschachtelte If-Else Schleife Java Basics - Anfänger-Themen 21
S Erste Schritte do-while Schleife Münzwurf Java Basics - Anfänger-Themen 1
S while Schleife Taschenrechner Java Basics - Anfänger-Themen 1
P Best Practice While loop schleife Java Basics - Anfänger-Themen 5
ohneInformatik; For Schleife. Was macht dieser Code?? Java Basics - Anfänger-Themen 5
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
A Erste Schritte Aufgabe mit while Schleife Java Basics - Anfänger-Themen 11
R do while Schleife Verständnisfrage Java Basics - Anfänger-Themen 2
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11
N Warum Springt iterator nur in der Schleife weiter Java Basics - Anfänger-Themen 9
J for Schleife kleinste Zufallszahl finden Java Basics - Anfänger-Themen 25
A Return in While Schleife Java Basics - Anfänger-Themen 6
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
J do..while Schleife Java Basics - Anfänger-Themen 14
S Textausgabe in einer For-Schleife Java Basics - Anfänger-Themen 12
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
T Mit jedem Wert in der for-Schleife weiter arbeiten Java Basics - Anfänger-Themen 3
berserkerdq2 Warum muss man manchmal in der RUnmethode sleep in eine schleife tun? Java Basics - Anfänger-Themen 9
F for-Schleife halbiert Durchläufe ungewollt Java Basics - Anfänger-Themen 6
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
J Methoden iterator for-schleife (hasNext() ) Java Basics - Anfänger-Themen 7
S Was macht ++ ohne Schleife? Java Basics - Anfänger-Themen 4
LFB In einer For-Schleife alles in einer Zeile ausgeben Java Basics - Anfänger-Themen 14
Neuling47 for schleife Java Basics - Anfänger-Themen 6
M Variable in einer Schleife initialisieren Java Basics - Anfänger-Themen 46
B Zuweisungen und Methodenaufrufe in Bedingung der while Schleife? Java Basics - Anfänger-Themen 2
JavaBeginner22 Würfeln bis 6 while Schleife Java Basics - Anfänger-Themen 13
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2
W Schleife und einmal variable++ zu viel Java Basics - Anfänger-Themen 20
T Mäxchenspiel mit Schleife Java Basics - Anfänger-Themen 3
D try/catch-Block bei for-Schleife Java Basics - Anfänger-Themen 14
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
J Schleife Problem Java Basics - Anfänger-Themen 2
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
L while Schleife mit 2 Bedingung endet nicht Java Basics - Anfänger-Themen 3
stormyark 4 Bit in einer for-schleife funktioniert nicht Java Basics - Anfänger-Themen 3
M ArrayList mit einer Schleife befüllen Java Basics - Anfänger-Themen 2
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
S Sentinel-Schleife Java Basics - Anfänger-Themen 0
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben