Anfängerfrage zu Schleifen und Arrays

tennisgot69

Mitglied
Hallo,

als Java neuling bin ich gerade dabei mich einzuarbeiten. Ich habe eine übungsaufgabe, und muss herausfinden welche Zahlen auf der Konsole ausgegeben werden.

Mich Interessiert vor allem was in der "While" schleife passiert und in der methode "vielleichtNeu".

Hier mal der Code

Java:
public class Start {

	int zähler = 0;

public static void main(String[] args) {
	
	int anzahl = 0;
	
	
	Start[] m4a = new Start[20];
	
	int x = 0;
	
	while (x < 9) {
		
		m4a[x] = new Start();
		m4a[x].zähler = m4a[x].zähler + 1;
		anzahl = anzahl + 1;
		anzahl = anzahl + m4a[x].vielleichtNeu(x);
		
		
		x = x + 1;
	}
	
	System.out.println(anzahl + "" + m4a[1].zähler);
	
}

	public int vielleichtNeu(int index) {
		
		
		if (index < 5) {
			Start m4 = new Start();
			m4.zähler = m4.zähler + 1;
			return 1;
		}
		
		return 0;
	}
}

ich hätte jetzt folgende Fragen .

1. Diese beiden zeilen in der While Schleife verstehe ich nicht (m4a[x] = new Start();
m4a[x].zähler = m4a[x].zähler + 1;). Warum muss ich "m4a nochmals mit New Initialisieren, und weshalb muss ich das x in [] schreiben?

2. .zähler = Punktnotation. Ich greife auf die Variable zähler zu. holle den aktuellen wert und schreibe diesen in das Array "m4a" ?

3. anzahl = anzahl + m4a[x].vielleichtNeu(x); = Warum steht das x einmal in Eckigen und ein mal in Runden klammern? wird die variable an die methode "vielleichtNeu" übergeben und in Index geschrieben?

Ich währe sehr froh wenn mir jemand diese fragen beantworten könnte.
Ich hoffe das ich die fragen verständlich erklären konnte.

Gruß, Thorsten
 

Fab1

Top Contributor
zu 1. Hierbei wird für jeden Schleifendurchlauf ein neues Objekt erstellt und dieses Objekt wird an der Stelle "x" im Array gespeichert. Die Instanzvariable Zähler wird bei jedem Durchlauf um eins hochgezählt.

In dem Schritt davor wir lediglich ein Array mit 20 Feldern erstellt, welches dann halt befüllt wird.

zu 2. Verstehe die Frage nicht, evtl. auch siehe zu 1.)

zu 3. bei den eckigen Klammern sprichst du das Array mit dem Index an. Die runden Klammern werden bei Methodenaufrufen benötigt und hierbei wird dem Konstruktor der Methode ein Wert übergeben mit dem die Methode dann weiterarbeiten kann.
 

tennisgot69

Mitglied
Erst einmal danke für die Erklärung, das hat mir sehr weitergeholfen. Frage zwei hat sich damit erst einmal erledigt. Ich hätte zu dem [x] noch eine frage.

Aber was passiert duch das x innerhalb des Arrays? Werden dann nacheinander die erzeugten Indexe (0-19) belegt, ohne das ich einen einfluß habe, welche int wert auf welchem Index liegt?
 

Saheeda

Top Contributor
@tennisgot69

Nein. Du setzt zuerst x auf den Wert 0. Mit m4a[x] greifst du also auf die Stelle mit dem Index 0 zu.

Indem du x innerhalb der Schleife erhöhst, gehst du schrittweise die ersten Indizes durch. Das passiert nicht willkürlich, sondern eben genau an der Stelle im Array, die du mit dem x-Wert ansprichst.
 
Zuletzt bearbeitet:

Fab1

Top Contributor
Zuerst muss man sagen, dass nicht alle Indexe (20 Stück) belegt werden, da die Schleife ja nur bis < 9 (kleiner 9) geht.

Mit dem x passiert innerhalb des Arrays nichts. Das x ändert sich nur durch:
Java:
x = x +1; // x wird um eins erhöht (für jeden durchlauf)

Das x dient hier nur als Hilfsmittel um die einzelnen Objekt, die in dem Array gespeichert werden anzusprechen. Dazu nochmal ein Beispiel:

Java:
m4a[0] = new Start(); // Durchgang 1
m4a[1] = new Start(); // Durchgang 2  jeweilt immer ein neues Objekt
m4a[2] = new Start(); // Durchgang 3

// Statt 0-2 wird eben x als Platzhalter verwendet
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Anfängerfrage zu meinem Programm. Java Basics - Anfänger-Themen 15
V Anfängerfrage: HelloWorld läuft nicht Java Basics - Anfänger-Themen 3
F if else if anfängerfrage Java Basics - Anfänger-Themen 22
P Anfängerfrage, Primitiv,komplex Java Basics - Anfänger-Themen 1
pkm Erste Schritte Anfängerfrage zu ::new Java Basics - Anfänger-Themen 4
A Anfängerfrage Java Basics - Anfänger-Themen 7
M Erstellung Interfaces....totale Anfängerfrage Java Basics - Anfänger-Themen 16
W DNS Name auslesen + weitere Anfängerfrage Java Basics - Anfänger-Themen 4
R Anfängerfrage zu Methoden in Vererbte Klassen Java Basics - Anfänger-Themen 2
F Erste Schritte (Gelöst) Anfängerfrage Arraylist ausserhalb der Main Methode Java Basics - Anfänger-Themen 2
DeVolt Anfängerfrage zu util.scanner Java Basics - Anfänger-Themen 2
B Collections ArrayList füllen - Anfängerfrage Java Basics - Anfänger-Themen 1
Shams Anfängerfrage zu jnlp Java Basics - Anfänger-Themen 0
T Kleine Anfängerfrage :) Java Basics - Anfänger-Themen 4
I Anfängerfrage JPanel repaint() Java Basics - Anfänger-Themen 6
F Anfängerfrage zu extends Java Basics - Anfänger-Themen 12
A Anfängerfrage: Zahlformat prüfen Java Basics - Anfänger-Themen 4
I Anfängerfrage: Fehlersuche Java Basics - Anfänger-Themen 2
A Methoden Anfängerfrage: 2 Listen Vergleichen Java Basics - Anfänger-Themen 7
L Anfängerfrage zu TileMap Java Basics - Anfänger-Themen 4
J anfängerfrage Java Basics - Anfänger-Themen 10
J Anfängerfrage HelloWorld? cmd-Problem Java Basics - Anfänger-Themen 35
J Anfängerfrage zu Grundlagen von Packages Java Basics - Anfänger-Themen 7
J Anfängerfrage zur Variablen Java Basics - Anfänger-Themen 11
J Anfängerfrage :-) Java Basics - Anfänger-Themen 5
M Banale Anfängerfrage Java Basics - Anfänger-Themen 3
Y Anfängerfrage zu array(-Syntax) Java Basics - Anfänger-Themen 6
J Leichte Java Anfängerfrage. Bitte schnelle Antwort. :) Java Basics - Anfänger-Themen 10
U Anfängerfrage - Multithreading Java Basics - Anfänger-Themen 8
T Aufrufen von get-Methode aus anderer Klasse (absolute Anfängerfrage) Java Basics - Anfänger-Themen 2
G Anfängerfrage zu "@Override" Java Basics - Anfänger-Themen 5
N Anfängerfrage richtige Syntax und Frage zu Vector Java Basics - Anfänger-Themen 7
A Anfängerfrage - array required, but java.lang.String found Java Basics - Anfänger-Themen 7
M Kleine Anfängerfrage Java Basics - Anfänger-Themen 10
S Anfängerfrage zu Array Java Basics - Anfänger-Themen 8
K Anfängerfrage: Fehlermeldung Java Basics - Anfänger-Themen 6
D Anfängerfrage N. Office Access NOA: setHidden und dann . Java Basics - Anfänger-Themen 2
N Anfängerfrage Java Basics - Anfänger-Themen 14
N anfängerfrage. returnwerte Java Basics - Anfänger-Themen 3
Gama Importieren von Klassen [Anfängerfrage] Java Basics - Anfänger-Themen 3
G Anfängerfrage Java Basics - Anfänger-Themen 11
B Anfängerfrage zu Swing "Reload" Java Basics - Anfänger-Themen 2
N Anfängerfrage bezüglich Speicherverwaltung Java Basics - Anfänger-Themen 3
G Anfängerfrage zu Threads Java Basics - Anfänger-Themen 14
Q Anfängerfrage Java Basics - Anfänger-Themen 6
J Anfängerfrage: wie externe Dateien importieren? Java Basics - Anfänger-Themen 5
S Anfängerfrage Java Basics - Anfänger-Themen 7
G Anfängerfrage zu Vererbung Java Basics - Anfänger-Themen 6
B Anfängerfrage zu 'NoClassDefFoundError' Java Basics - Anfänger-Themen 2
J IO Frage Hex-Output - Anfängerfrage Java Basics - Anfänger-Themen 5
T Anfängerfrage -> Projekt Java Basics - Anfänger-Themen 2
C Anfängerfrage ->Objekte und Arrays Java Basics - Anfänger-Themen 4
V Anfängerfrage Java Basics - Anfänger-Themen 8
E RMI Anfängerfrage Java Basics - Anfänger-Themen 10
DEvent anfängerfrage: wieso layout erst beim verändern? Java Basics - Anfänger-Themen 6
G Anfängerfrage Java Basics - Anfänger-Themen 2
T schleifen Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
S Erste Schritte While Schleifen Java Basics - Anfänger-Themen 11
M geschachtelte for-Schleifen - Einmaleins ausgeben Java Basics - Anfänger-Themen 3
Mikejr Schleifen Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Mit While Schleifen Programme schreiben Java Basics - Anfänger-Themen 4
K geschachtelte "for-Schleifen" Java Basics - Anfänger-Themen 3
Alen123 Potenzen in Schleifen Java Basics - Anfänger-Themen 26
Alen123 String wiederholen mit Schleifen Java Basics - Anfänger-Themen 1
A Schleifen und Boolsche Ausdrücke Java Basics - Anfänger-Themen 42
W Schleifen Java Basics - Anfänger-Themen 36
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6
Mojtaba1986 Hausaufgabe (Schleifen) Java Basics - Anfänger-Themen 33
A Schleifen Verzweigungen Java Basics - Anfänger-Themen 18
C Sind die while-Schleifen richtig in for-Schleifen ersetzt worden? Java Basics - Anfänger-Themen 8
D Schleifen Problem Java Basics - Anfänger-Themen 2
H Muster mit verschachtelten Schleifen kreieren. Java Basics - Anfänger-Themen 2
A Schleifen in Java Java Basics - Anfänger-Themen 4
A Schleifen, Hilfe! Java Basics - Anfänger-Themen 6
C Schleifen Durchlauf Java Basics - Anfänger-Themen 7
M While-Schleifen-Fehler Java Basics - Anfänger-Themen 4
J Schleifen Wiederholendes Zeichenmuster Java Basics - Anfänger-Themen 4
K For-Schleifen Ablauf Java Basics - Anfänger-Themen 5
L Anzahl der Aufrufe von Schleifen bestimmen Java Basics - Anfänger-Themen 1
S Hilfe bei Java Aufgabe (Schleifen) Java Basics - Anfänger-Themen 25
B Verschachtelte For Schleifen Java Basics - Anfänger-Themen 8
G Input/Output Schleifen Durchlauf Java Basics - Anfänger-Themen 5
A Erste Schritte Schleifen Java Basics - Anfänger-Themen 5
J Muster und Schleifen Java Basics - Anfänger-Themen 33
H ERGÄNZUNGSFRAGE: Klammersetzung bei if-else Anweisungen und Schleifen Java Basics - Anfänger-Themen 2
scratchy1 Argumente mit verschiedenen Schleifen ausgeben Java Basics - Anfänger-Themen 3
C Schleifen Java Basics - Anfänger-Themen 12
E geschachtelte for-schleifen Java Basics - Anfänger-Themen 6
L Übungsaufgabe zu Schleifen Java Basics - Anfänger-Themen 7
W Erste Schritte Rechnen mit Schleifen? Denkanstoß gesucht Java Basics - Anfänger-Themen 15
A Erste Schritte for-Schleifen vereinfachen Java Basics - Anfänger-Themen 5
S Immer das selbe mit den Schleifen Java Basics - Anfänger-Themen 24
kokojamboo92 Schleifen und Arrays Java Basics - Anfänger-Themen 7
N Problem mit Schleifen Java Basics - Anfänger-Themen 20
O Array, geschachtelte For-Schleifen Java Basics - Anfänger-Themen 34
S While-Schleifen Ausgabe als String? Java Basics - Anfänger-Themen 1
R Threads Pause zwischen zwei Schleifen Java Basics - Anfänger-Themen 1
D verschachtelte Schleifen Java Basics - Anfänger-Themen 6
H Schleifen (anfänger) Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben