Zahlen in Array speichern und ausgeben

TobiN

Mitglied
Hey,

ich will in einer Methode ein paar Zahlen in einem Array speichern und mit einer anderen Methode wieder ausgeben. Leider funktioniert das nicht so. Aber wo ist der Fehler? ???:L

Java:
public class Feld {

    static int i = 20;
    static int[] feld = new int[i];

    public static void speichere() {
        for (int j = 0; j < 20; j++) {
            feld[i] = j;

        }
    }

    public static void ausgeben() {
        System.out.println(feld[i]);
    }

    public static void main(String[] args) {
        Feld.speichere();
        Feld.ausgeben();
    }
}
 

Final_Striker

Top Contributor
Java:
static int i = 20;
...
...
feld[i] = j;
...
...
System.out.println(feld[i]);

Das Array läuft von 0 bis 19.
 

El Kabong

Aktives Mitglied
ups falsches Thema.

Java:
public class Feld {


	static int i = 20;
	
static int[] array = new int[i];

	

	static void speichere() {
		for (i=0; i<array.length; i++) {
			array[i] = i;
		}
	}
	
static void ausgeben() {
	for (i=0; i<array.length; i++) {
		System.out.println(array[i]);
	}
}

public static void main(String[] args) {
	
	Feld.speichere();
	Feld.ausgeben();
	
}
}
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

Java:
public class Feld 
{
    static int i = 20;
    static int[] feld = new int[i];

    public static void speichere() 
    {
        for (int j = 0; j < 20; j++) 
        {
            feld[i] = j;
        }
    }

nur mal eine konkrete Erklärung für Dich, was hier falsch ist:
Du setzt 'i' fix auf 20.
In der Schleife schreibst Du dann die Werte 0 - 19 immer nur auf das i-te (also 20.) Feld im Array !
Nur so wie von El Kabong beschrieben werden alle 20 Felder des Arrays nacheinander mit den 20 Werten gefüllt !

Gruß
Klaus
 

VfL_Freak

Top Contributor
Moin,
nur mit dem problem, dass es den index 20 nicht gibt ;)

hmm, hatte ich das geschrieben ???:L ich Looser ... :eek:

Ich will es mal so ausdrücken :
das Array enthält 20 Felder (die Felder 1 bis 20), die aber prgrammtechnisch gesehen mit den Indizes 0 bis 19 angesprochen werden müssen !

In der Schleife schreibst Du dann die Werte 0 - 19 immer nur auf das i-te (also 20.) Feld im Array !
sagen wir es also so:
In der Schleife schreibst Du dann die Werte 0 - 19 immer nur auf das letzte Feld im Array ! :toll:

Besser ???:L:D
Gruß
Klaus
 

TobiN

Mitglied
Wenn ich das jetzt richtig verstanden habe hab ich bei meiner Ausgabe immer den Index 20 ausgeben, oder? Hätte ich anstatt dem i eine 19 in meine Ausgabe geschrieben würde ich den letzten Wert aus meinem Array bekommen. Und mit der for-Schleife bekomme ich dann alle Werte. Wenn ich das jetzt richtig verstanden habe.
 

nrg

Top Contributor
Wenn ich das jetzt richtig verstanden habe hab ich bei meiner Ausgabe immer den Index 20 ausgeben, oder?
in deiner ausgabe hast du immer die referenz auf das im speicher liegende array ausgeben. zum ausgeben von arrays entweder eine schleife nehmen oder
Code:
Arrays.toString(deinArray)
was dir das Array in der Form
Code:
[index1, index2, ...]
ausgibt.

Hätte ich anstatt dem i eine 19 in meine Ausgabe geschrieben würde ich den letzten Wert aus meinem Array bekommen.
genau. 19 bzw. besser immer dynamisch programmieren >
Code:
deinArray.length-1
gibt dir das letzte element aus

Und mit der for-Schleife bekomme ich dann alle Werte. Wenn ich das jetzt richtig verstanden habe.
nochmal. der aufbau einer for, zum iterieren eines array, ist eigentlich immer gleich
Java:
for (int i = 0; i < deinArray.length; i++) {
   // hier mit deinArray[i] auf das aktuelle Element zugreifen
}
der Schleifenkopf beinhaltet 3 Teile:

Java:
for (initialisierung; iterationsbedingung; inkrementierung) {
   // BODY
}

- die initialisierung wird ganz am anfang, vor dem ersten durchlauf ausgeführt. variablen, die hier intialisiert werden, sind im kompletten schleifenbody verfügbar
- die iterationsbedingung wird vor jedem durchlauf überprüft, ergibt diese
Code:
true
läuft die schleife weiter
- die inkrementierung wird nach jedem durchlauf und somit vor der iterationsbedingung ausgeführt

oder mit for-each:
Java:
for (DerArrayDatentyp whatEver : deinArray) {
   // hier mit whatEver auf das aktuelle Element zugreifen
}
also bei einem int array:
Java:
for (int i : deinArray) {
   // hier mit i auf das aktuelle Element zugreifen
}
 

TobiN

Mitglied
Okay, jetzt hab ich aber noch eine Frage. Ich hab meine Klasse etwas geändert, damit ich von meiner main-Klasse Zahlen in einem Array speichern kann. Es sollten 20 Zahlen abgespeichert werden. Aber bei der Ausgabe bekomme ich immer 20 mal die 18.

Java:
public class Feld {
       
     int i = 20;
     int[] array = new int[i];


    void speichere(int werte) {
      for (int i=0; i<array.length; i++) {
        this.array[i] = werte;
 
 }
}

    void ausgeben(int[] werte) {
      for (int i=0; i<array.length; i++) {
      System.out.println(array[i]);
  
  }
 }
}


Java:
public class FeldProgramm {

   public static void main(String[] args) {

    int i = 20;
    int[] array = new int[i];


    Feld feld = new Feld();

    for (i=0; i<20; i+=2) {
    feld.speichere(i);

  }

   feld.ausgeben(array);

 }
}
 

VfL_Freak

Top Contributor
Moin,

Aber bei der Ausgabe bekomme ich immer 20 mal die 18.

ganz einfach ... ;)

Java:
public class Feld 
{
    int i = 20;
    int[] array = new int[i];

    void speichere( int wert ) 
    {
        for( int i=0; i<array.length; i++ ) 
        {
            this.array[i] = wert;
        }
    }

    void ausgeben( int[] werte ) 
    {
        for( int i=0; i<array.length; i++ ) 
        {
            System.out.println(array[i]);
        }
    }
}

public class FeldProgramm 
{
    public static void main( String[] args ) 
    {
        int i = 20;
        int[] array = new int[i];

        Feld feld = new Feld();

	// (a) warum "+=2"?? 
	// (b) so rufst Du die Schleife 10x auf - nacheinander mit i = 0,2,4,6,8,10,12,14,16,18
        for( i=0; i<array.length; i+=2 )
        {
	    // und hier wird der übergebene Wert i in einer Schleife
	    // 20x in einem zweiten Array gespeichert!
	    // Also steht dort am Ende 20x der LETZTE Wert 18 drin !!
            feld.speichere(i);
        }

        feld.ausgeben(array);

     }
}

zudem:
- warum zwei Klassen?
- besser sprechende Bezeichner
- in jeder Klasse ein Array namens "array"??
sehr gefährlich, da Du irgendwann nicht mehr druchblickst, wann Du was mit welchem machst !!

Versuch es mal so :
Java:
public class FeldProgramm 
{
    public static void main( String[] args ) 
    {
        int iArraySize = 20;
        int[] myIntArray = new int[iArraySize];

        for( i = 0; i < myIntArray.length; i++ )
        {
            myIntArray[i] = i; // den i-ten Werte ins i-te Feld des Arrays schreiben
        }

	// diese Schleife kannst Du auch sparen, in dem Du die Ausgabe gleich in die vorherige schreibst
        for( i = 0; i < myIntArray.length; i++ )
        {
            System.out.println( myIntArray[i] );
        }
     }
}

Gruß
Klaus
 

nrg

Top Contributor
Moin,
- besser sprechende Bezeichner
- in jeder Klasse ein Array namens "array"??
sehr gefährlich, da Du irgendwann nicht mehr druchblickst, wann Du was mit welchem machst !!

also vllt bin ich heute zu kleinlich aber ungarische notation gehört jetzt für mich nicht unbedingt zu sprechenden bezeichnern, eher zu vorgestern ;)

ich finde es völlig ok, wenn es eine methoden gibt a la
Code:
doSthWithArray(String[] array)
oder
Code:
doSth(String[] values)
o.ä.

bei instanz/klassenvariablen geb ich dir schon recht. die sollten sprechend sein aber ich denke dafür ist der code einfach zu sinnfrei.
 

VfL_Freak

Top Contributor
Moin,

also vllt bin ich heute zu kleinlich aber ungarische notation gehört jetzt für mich nicht unbedingt zu sprechenden bezeichnern, eher zu vorgestern ;)

ich finde es völlig ok, wenn es eine methoden gibt a la
Code:
doSthWithArray(String[] array)
oder
Code:
doSth(String[] values)
o.ä.

bei instanz/klassenvariablen geb ich dir schon recht. die sollten sprechend sein aber ich denke dafür ist der code einfach zu sinnfrei.

Sicher kann man darüber streiten - habe mich an den bei uns in der Firma geltenden Richtlinien gehalten !
Sowas wie "doSth" würde beim Code-Review garantiert durchfallen!

Und zwei mal "array" in gleichen Kontext wäre wohl ein Kündigungsgrund :D

Gruß
Klaus
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
F Zahlen aus Datei einlesen und in Array speichern Java Basics - Anfänger-Themen 2
T Lotto Zahlen in Array speichern Java Basics - Anfänger-Themen 2
S Zahlen in Array speichern und addieren Java Basics - Anfänger-Themen 4
P String aus Zahlen auslesen und in einem Array speichern Java Basics - Anfänger-Themen 3
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
padde479 Array Multiplikation der ersten n Zahlen Java Basics - Anfänger-Themen 7
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
B Häufigkeit einzelner Zahlen in einem Array Java Basics - Anfänger-Themen 6
H Eingegebene Zahlen mit Array ausgeben Java Basics - Anfänger-Themen 18
R Array mit Unter- und Obergrenze ganze Zahlen dazwischen erscheinen nicht Java Basics - Anfänger-Themen 1
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
E Zahlen von einem Array mit zahlen von zweitem Array vergleichen Java Basics - Anfänger-Themen 27
Moji Klassen Array Zahlen zu Sternchen (U-Helmich 7.1-4) Java Basics - Anfänger-Themen 5
A Ein Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 4
H Array mit Zahlen die durch 3 und 5 teilbar sind erstellen Java Basics - Anfänger-Themen 13
B Array via Schleife mit ungeraden bzw geraden Zahlen füllen Java Basics - Anfänger-Themen 7
O Array nach gleichen Zahlen prüfen und ausgeben Java Basics - Anfänger-Themen 6
J jOptionPane, Array und negative Zahlen Java Basics - Anfänger-Themen 2
H überprüfen ob in Array gleiche int-Zahlen gespeichert werden. Java Basics - Anfänger-Themen 7
W Erste Schritte Zweidimensionales Array - Gerade Zahlen anzeigen lassen Java Basics - Anfänger-Themen 3
B Methoden Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 4
X wie kann ich in bluej/java einene 2d array mit zahlen fuellen, so dass sich diese in der der zeilen Java Basics - Anfänger-Themen 2
L Array: Summe aller geraden und ungeraden Zahlen ermitteln Java Basics - Anfänger-Themen 9
H Gerade Zahlen aus Array entfernen Java Basics - Anfänger-Themen 8
B Fibonacci Zahlen rekursiv Array Java Basics - Anfänger-Themen 12
V Array zahlen eingeben und ausgeben Java Basics - Anfänger-Themen 5
S Zahlen Array durchsuchen Java Basics - Anfänger-Themen 6
J Array mit Zahlen füllen Java Basics - Anfänger-Themen 28
T Array mit String, Zahlen in If Saetze packen Java Basics - Anfänger-Themen 3
W 2dim - Array Ausgabe von Zahlen, teilbar durch 3. Java Basics - Anfänger-Themen 4
H n Zahlen aus einem Array addieren Java Basics - Anfänger-Themen 17
C OOP Array mit Zahlen zw. 0 und 9 befüllen Java Basics - Anfänger-Themen 3
A Double[] Array zahlen per Argument übergeben Java Basics - Anfänger-Themen 5
U JAVA - Ungerade Zahlen Array Java Basics - Anfänger-Themen 9
M Zahlen aus Array lesen Java Basics - Anfänger-Themen 19
N Unsortierter Array mit einmaligen Zahlen Java Basics - Anfänger-Themen 9
L Zahlen auf Diagonalen im Array Java Basics - Anfänger-Themen 15
T Erste Schritte Int Array zufällig mit Zahlen füllen Java Basics - Anfänger-Themen 7
J Erste Schritte Array: Häufigkeiten bzw. gerade/ungerade Zahlen Java Basics - Anfänger-Themen 5
T Mehrfach auftretende Zahlen in einem Array Java Basics - Anfänger-Themen 13
H Die Eingabe von beliebig vielen Zahlen in ein Array - ich kann es nicht Java Basics - Anfänger-Themen 6
A Zahlen im Array werden überschrieben Java Basics - Anfänger-Themen 6
M 3x3 - Array mit Zahlen von 0-8 zufällig belegen Java Basics - Anfänger-Themen 4
F.S.WhiTeY Mehrdimensionales array, größere zahlen von innen nach außen Java Basics - Anfänger-Themen 3
K Zahlen und buchstaben gemeinsam in ein array? Java Basics - Anfänger-Themen 17
B Zufällige Zahlen in Array sortieren Java Basics - Anfänger-Themen 18
M mehrfach auftretende zahlen in einem array Java Basics - Anfänger-Themen 6
M String mit mehreren Zahlen in Integer-Array Java Basics - Anfänger-Themen 2
X Array nur mit Zahlen (test) Java Basics - Anfänger-Themen 11
N Array mit negativen Zahlen Java Basics - Anfänger-Themen 4
E Array mit Zahlen von 1-(Zeilen*Spalten) befüllen Java Basics - Anfänger-Themen 8
O Zweidemensionales Array auf zwei gleiche Zahlen prüfen Java Basics - Anfänger-Themen 15
D Array nach ungerade zahlen sortieren Java Basics - Anfänger-Themen 6
A Sortieren von Zahlen in einem Array Java Basics - Anfänger-Themen 13
P Zahlen aus Datei in Array einlesen Java Basics - Anfänger-Themen 21
T Zahlen in ARRAY Sortieren Java Basics - Anfänger-Themen 10
D 6 zahlen aus einem array rausziehen Java Basics - Anfänger-Themen 2
G Zahlen aus HashSet in ein int Array übergeben Java Basics - Anfänger-Themen 15
L zahlen in mehrdimensionales array einlesen Java Basics - Anfänger-Themen 3
G Mit Switch/Case Zahlen zu Array hinzufügen Java Basics - Anfänger-Themen 14
I Zahlen in Array schreiben und dann sortieren Java Basics - Anfänger-Themen 7
Q Zahlen sortiert in Array schreiben Java Basics - Anfänger-Themen 5
P Aus Text Datei nur Zahlen übernehmen Java Basics - Anfänger-Themen 13
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
M negative Zahlen bei Intervallen Java Basics - Anfänger-Themen 10
M 3 Zahlen miteinander vergleichen Java Basics - Anfänger-Themen 18
J Taschenrechner mit mehr als 2 Zahlen. Java Basics - Anfänger-Themen 18
B Alle Zahlen finden, die 3 bestimmte Ziffern enthalten? Java Basics - Anfänger-Themen 9
K Java gleicher Wert von Zahlen? Java Basics - Anfänger-Themen 5
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
J Operatoren Zahlen addieren Java Basics - Anfänger-Themen 13
B Threads Counter mit ungeraden Zahlen Java Basics - Anfänger-Themen 32
JavaBeginner22 Java 2 Zufalls zahlen generieren. Java Basics - Anfänger-Themen 11
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
M Stream mit den ersten n natürlichen Zahlen Java Basics - Anfänger-Themen 4
D Größtes Palindrom Produkt aus zwei dreistelligen Zahlen Java Basics - Anfänger-Themen 60
sserio Befreundete Zahlen Java Basics - Anfänger-Themen 7
AhmadSlack Verzweigungen zahlen multiplizieren Java Basics - Anfänger-Themen 4
U Lotto-Zahlen App Java Basics - Anfänger-Themen 34
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
J Zahlen bis zu einem bestimmten Grenzwert ausgeben Java Basics - Anfänger-Themen 11
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
W Bestimmte Zahlen bei Math.random ausschließen? Java Basics - Anfänger-Themen 31
K Erste Schritte "Taschenrechner" zeigt keine Komma Zahlen an. Java Basics - Anfänger-Themen 8
P Drei Zahlen eines Würfelspiels auswerten Java Basics - Anfänger-Themen 7
H Häufigkeit von Zahlen ermitteln Java Basics - Anfänger-Themen 23
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
H Zahlen kürzen Java Basics - Anfänger-Themen 2
ansystin Teilerfremde Zahlen ausgeben + Zahlenausgabe speichern Java Basics - Anfänger-Themen 3
nevel Programm für die Summer der Zahlen 1- 1ß Java Basics - Anfänger-Themen 12
jhCDtGVjcZGcfzug Fibonacci Zahlen rekursiv und iterativ Java Basics - Anfänger-Themen 21

Ähnliche Java Themen

Neue Themen


Oben