Integer-Werte in Array ein- bzw. auslesen

JL51

Aktives Mitglied
Hallo, folgender Code erstellt ein Array mit 4 Feldern. Testhalber sollen dann die Werte von feld[0] und feld[3] vertauscht werden und dann hinterher nochmal, aber das klappt nur genau einmal, solange ich nämlich feld[x] bzw. feld[y] schreibe, wohingegen es keinerlei Probleme gibt, wenn ich feld[0] und feld[3] schreibe. Vermutlich brauche ich da irgendwas mit .readInt() oder so, keine Ahnung. Hier der Code:

Java:
import Java.util.*;
public class WerteTauschen
{
     public static void main (String[] args)
     {
     int x,y,i,menge,z,zuf;
     x=0;
     y=0;
     i=0;
     menge=4;
     z=0;
     zuf=0;

     int[] feld = new int[menge];
     for (i=0; i<menge; i++)
     {
          feld[i] = i;
     }
     i =0;
     
     for (i=0; i<menge; i++)
    {
         x = feld[0];
         y = feld[3];
         
         feld[x] = y;
         feld[y] = x;

      System.out.println(feld[0]);
         System.out.println(feld[1]);
         System.out.println(feld[2]);
         System.out.println(feld[3]);
         System.out.println('\n');
    }
}

Danke für Hilfe.
 
Zuletzt bearbeitet:

anfänger09

Mitglied
Hi, mit erstem Blick frage ich mich, wieso du oben "kmenge" deklinierst und unten nur noch "menge". Hast du das falsch kopiert?

Versuch bitte nochmal deine Frage genauer zu stellen, ich versteh sie nämlich nicht^^

Du erzeugst einen Array mit den Werten 0,1,2,3 und dann willst du, dass alle rumgedreht werden zu 3,2,1,0 oder?

Du musst aufpassen, du hast oben x,y = 0 gesetzt. Wenn du unten mit Feld[x] bzw. Feld [y] direkt anfängst, dann nimmst du den Wert an der Stelle Feld[0], also 0.

Edit:
So, habs jetzt glaube ich verstanden. Problem ist, dass du mit den gleichen Variablen tauschen willst, mit denen du auch den Wert speicherst. So wäre es besser, aber du musst trotzdem vorher definieren, was du tauschen möchtest. Da kannst dann in dem Fall auch gleich [0] oder [3] schreiben.

Java:
      public static void main (String[] args){
     int x,y,i,menge, tauschwert1, tauschwert2;
     x=0;
     y=0;
     i=0;
     menge=4;
     

     int[] feld = new int[menge];
      
     for (i=0; i<menge; i++)
     {
          feld[i] = i;
     }
     i =0;
     
      System.out.println(feld[0]);
         System.out.println(feld[1]);
         System.out.println(feld[2]);
         System.out.println(feld[3]);
         System.out.println('\n'); 
     
    tauschwert1 = 0;
    tauschwert2 = 3;
    
     for (i=0; i<menge; i++)
    {
         x = feld[tauschwert1];
         y = feld[tauschwert2];
 
         feld[tauschwert1] = y;
         feld[tauschwert2] = x;
 
      System.out.println(feld[0]);
         System.out.println(feld[1]);
         System.out.println(feld[2]);
         System.out.println(feld[3]);
         System.out.println('\n');
    }
}

Besten Gruß, anfänger09
 
Zuletzt bearbeitet:

JL51

Aktives Mitglied
Hi, das war ein Abschreibfehler, Danke, ist jetzt geändert. Eigentlich sollte das Programm das Array mischen, aber weil dabei Müll rausgekommen war, mußte ich der Sache erstmal auf den Grund gehen. Daher jetzt der gezielte Austausch von nur 2 Werten, nämlich der von feld[0] und feld[3]. Raus kommen soll also:

3
1
2
0

0
1
2
3

3
1
2
0

0
1
2
3

Tut es aber nicht, weil die Werte aus Java-internen Gründen nur ein einziges Mal vertauscht werden! Der Haken liegt in den Programmzeilen 23 und 24, denn wenn ich da feld[0] = y; und feld[3] = x; hin schreibe, funktioniert es nämlich. Aber ich will ja gerade mit Variabeln arbeiten. Und dazu fehlt mir in dem Fall offenbar Java-Spezialwissen, was ich hier gezeigt bekommen möchte. Danke für Info.
 
Zuletzt bearbeitet:

Dompteur

Top Contributor
Vielleicht wird dir klarer, was da passiert, wenn du folgende 2 Zeilen in deinen Ausgabe-Block hinzufügst:
Java:
	         System.out.println("feld[x] : feld[" + x + "] = " + y);
	         System.out.println("feld[y] : feld[" + y + "] = " + x);
 

JL51

Aktives Mitglied
Hallo, ich lese das jetzt alles im Internetcafe und kann hier nichts kopieren und dann in meinen Laptop einfügen. Ich werde mich also später nochmal melden. Danke erstmal.
 

JL51

Aktives Mitglied
@anfänger09 Danke nochmals, das funktioniert! Allerdings ist es mir nach wie vor ein Rätsel,, warum meine ursprüngliche Methode nicht funktioniert. DASS da genau das passiert, was Dompteur mir aufzeigen wollte, war mir klar, aber WARUM das passiert, eben null. Die Variablen x und y haben Werte zugewiesen bekommen, welche erfolgreich feld[0] und feld[3] zugewiesen wurden und wenn dann eben diese Werte wieder ausgelesen werden, sind die mysteriöserweise wieder genauso wie am Anfang. Woran liegt das denn?
 
Zuletzt bearbeitet:

anfänger09

Mitglied
Hi JL51. Hab leider heute nicht mehr soviel Zeit, das genau durchzugehen. Ich denke aber, dass deine Idee vielleicht mit einer ArrayList leichter umzusetzen wäre. Ich meine, da kann man einfach einen EIntrag einen neuen Platz zuweisen, aber dann verschieben sich auch alle anderen Einträge entsprechend. Kennt sich hiermit jemand genauer aus?
 

JL51

Aktives Mitglied
Mittlerweile habe ich den Code fertig und das geht gut mit Austausch-Verfahren. Danke nochmals für Deine Anschubhilfe!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Integer Werte in Array einlesen Java Basics - Anfänger-Themen 6
C Erste Schritte Integer Werte in Array kopieren Java Basics - Anfänger-Themen 21
T integer Werte einer ArrayList miteinander addieren Java Basics - Anfänger-Themen 5
E enum und Integer-Werte Java Basics - Anfänger-Themen 14
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
MoxMorris Integer.MAX_VALUE und Double.MAX_VALUE Unterschied Java Basics - Anfänger-Themen 3
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
sserio printf integer formatting Java Basics - Anfänger-Themen 17
M Unterschied Integer.toString(x) und x.toString() Java Basics - Anfänger-Themen 22
H Uhrzeitespanne in Integer Wert umrechnen Java Basics - Anfänger-Themen 1
T Java Integer multiplizieren Java Basics - Anfänger-Themen 6
H Fehler bei integer Division Java Basics - Anfänger-Themen 28
D Methoden Plathhalter für Integer in einer Methode Java Basics - Anfänger-Themen 19
StevenGG Java swing "New Integer" Java Basics - Anfänger-Themen 5
C Integer in Vierer-Zahlblöcke aufteilen Java Basics - Anfänger-Themen 11
L integer Java Basics - Anfänger-Themen 6
Zeppi Integer umschreiben Java Basics - Anfänger-Themen 5
rafi072001 Integer Anomalie Java Java Basics - Anfänger-Themen 7
Eule25 Arbeit mit long und int, Error: integer number too large Java Basics - Anfänger-Themen 2
J Transformation zweier Integer in ein Double Java Basics - Anfänger-Themen 26
M Integer aus aus einer Klasse in andere speichern Java Basics - Anfänger-Themen 12
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
D Fibonacci overflow integer Java Basics - Anfänger-Themen 8
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
S Integer Wert wird nicht übernommen Java Basics - Anfänger-Themen 2
V int zu Integer und String Java Basics - Anfänger-Themen 6
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
M Regex zum Integer.parseInt Java Basics - Anfänger-Themen 4
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
S Vergleichen ob der Integer der benutzt eingeben werden soll überhaupt ein int ist Java Basics - Anfänger-Themen 1
S Letzte Zahl eines Integer auslesen? Java Basics - Anfänger-Themen 3
K String in Integer umwandeln Java Basics - Anfänger-Themen 4
G Überprüfen ob alle Ziffern von 1-9 in einem Integer vorhanden sind Java Basics - Anfänger-Themen 6
D integer negativen Wert abspeichern Java Basics - Anfänger-Themen 3
A Mit JComboBox Ergebnis einen Integer aus einer anderen Klasse aufrufen. Java Basics - Anfänger-Themen 2
J Methoden Moving a n integer matrix Java Basics - Anfänger-Themen 3
R Eingabe String umwandeln zu Integer Werten Java Basics - Anfänger-Themen 8
M Input/Output Java Swing: Prüft ob Text aus JTextField ausschließlich Integer enthält Java Basics - Anfänger-Themen 15
J Erhöhen eines Values als Integer bei gleichen Keys in HashMap Java Basics - Anfänger-Themen 12
CptK Datentypen Integer ArrayList sortieren Java Basics - Anfänger-Themen 2
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9
CptK Bestimmten Integer Wert aus Array filtern Java Basics - Anfänger-Themen 2
L String in Integer umwandeln Java Basics - Anfänger-Themen 3
K Datentypen String zu Integer parsen Java Basics - Anfänger-Themen 2
B Liste von Integer -> Nächster Wert bekommen Java Basics - Anfänger-Themen 5
S Integer aus Array filtern Java Basics - Anfänger-Themen 4
F Referenzvariable vom Typ "Integer" definieren. (Klausuraufgabe) Java Basics - Anfänger-Themen 5
M set Integer bzw. set null mit SQL DB Java Basics - Anfänger-Themen 9
H Bubblesort-Zwei Integer auf Dekade vergleichen. Java Basics - Anfänger-Themen 6
B Variablen integer im Array Java Basics - Anfänger-Themen 5
C Liste o.ä. erstellen mit <Integer, <Integer, String> Java Basics - Anfänger-Themen 7
R Kompletten String umwandeln in Integer Java Basics - Anfänger-Themen 10
H 32-Bit Zahl (Integer) in eine IPv4 Adresse umwandeln? Java Basics - Anfänger-Themen 2
Orkanson Datentypen Integer in String umwandeln/hinzufügen Java Basics - Anfänger-Themen 3
O Datentypen Integer mit führender Null Java Basics - Anfänger-Themen 13
M Argument in Integer verwandeln und das Doppelte davon printen Java Basics - Anfänger-Themen 9
D Fehler: String zu Integer Java Basics - Anfänger-Themen 7
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
b1ck Integer initialisieren bei do-while-Schleife Java Basics - Anfänger-Themen 11
E Integer und Array übergeben Java Basics - Anfänger-Themen 9
W Fehler bei Integer.parseInt() Java Basics - Anfänger-Themen 4
R String in Integer Java Basics - Anfänger-Themen 11
D Komischer Fehler nach <Integer> List Java Basics - Anfänger-Themen 2
J Integer in Array einlesen Java Basics - Anfänger-Themen 14
J Warum ist das ein Unterschied (Integer / int) Java Basics - Anfänger-Themen 2
H Integer in Datei schreiben Java Basics - Anfänger-Themen 2
B OOP Cannot instantiate the type AuDList<Integer> Java Basics - Anfänger-Themen 18
3 ArrayList Integer Wrapper Klasse als Ersatz für normale Arrays Java Basics - Anfänger-Themen 10
K Methoden Integer runden/aufrunden Java Basics - Anfänger-Themen 2
E Erste Schritte Lower Bounded Wildcards <? super Integer> Java Basics - Anfänger-Themen 1
M Datentypen Integer und Float Konflikt Java Basics - Anfänger-Themen 3
T Integer Wert in andere Methode übergeben Java Basics - Anfänger-Themen 2
N Probleme bei Speicherung eines Integer-Array in Datei speichern Java Basics - Anfänger-Themen 3
C Zwei Integer Arrays "kombinieren" Java Basics - Anfänger-Themen 10
D Integer Fehlermeldung exception Java Basics - Anfänger-Themen 4
M Höchster Integer aus 9 Zahlen Java Basics - Anfänger-Themen 13
I Klassen Integer von BL in GUI übergeben | Fehler Java Basics - Anfänger-Themen 4
T Integer-Objekt über Hash-Funktion in Array ablegen Java Basics - Anfänger-Themen 1
S Integer/Value-Paar in Prio-Queue ohne Comparator Java Basics - Anfänger-Themen 5
D Datentypen Ein Integer Feld in einen String wandeln ohne Nullenunterdrückung Java Basics - Anfänger-Themen 6
R integer zahlenfolge speichern, ausgeben Java Basics - Anfänger-Themen 1
L Summer aller Integer-Zahlen im Intervall [x,y] Java Basics - Anfänger-Themen 6
K ArrayList<Integer> problem Java Basics - Anfänger-Themen 3
L Vom Benutzer eingebene Integer addieren und ausgeben. Java Basics - Anfänger-Themen 11
S integer absteigend sortieren Java Basics - Anfänger-Themen 2
S ArrayList<ArrayList<Integer>> sortieren Java Basics - Anfänger-Themen 3
T Variablen Integer in Stmt Java Basics - Anfänger-Themen 13
B gemischter string zu integer Java Basics - Anfänger-Themen 22
R Big Integer Java Basics - Anfänger-Themen 8
B Erste Schritte Integer Eingabe über Scanner mit Abfangen von Eingabefehlern Java Basics - Anfänger-Themen 3
B Variablen Wertezuweisung bei integer Java Basics - Anfänger-Themen 5
E Integer oder Strings spiegeln (in while loop) Java Basics - Anfänger-Themen 6
D String mit Integer Variablen Namen vergleichen, möglich? Java Basics - Anfänger-Themen 6
G Was passiert bei einem Overflow von zwei Integer Java Basics - Anfänger-Themen 6
H Integer.toString(int i) vs. String.valueOf(int i) Java Basics - Anfänger-Themen 12
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben