• Wir präsentieren Dir heute ein Stellenangebot für einen Frontend-Entwickler Angular / Java in Braunschweig. Hier geht es zur Jobanzeige

Doppelte For Schleife / Array

D

darkcloud

Mitglied
Guten Tag,

meine Aufgabenstellung lautet zu überprüfen ob die Werte im folgenden Array paarweise verschieden sind:

int[] arr = { 5, 6, 7, 10, 13, 24, 233 }; (sprich insgesamt 7 Werte)

Ich habe mir gedacht ich bilde eine doppelte for Schleife um das ganze Array mal zu durchlaufen und definiere einen Kontrollwert. Sollte es 2 gleiche Zahlen im Array geben erhöhe ich den Kontrollwertt um 1, sprich bleibt der Kontrollwert bei 0 ist das Array paarweise verschieden, ist es >=1 dann halt nicht. Der Code sieht folgendermaßen aus:

Java:
int kontrollwert= 0;



for (int b=0; b<arr.length;b++) {

            for (int c=b+1; c<arr.length;c++) {                 

                if (arr==arr[c]) {

                    kontrollwert +=1;

                }

            }

        }



System.out.println(kontrollwert);

Der Gedankengang dahinter war:

Zuerst prüfe ich a[0]==a[0+1=1],a[0]==a[0+1+1=2], etc., danach a[1]==a[1+1=2],a[1]==a[1+1+1=3],etc.

Deshalb habe ich auch c=b+1 definiert um die Prüfung des Arraywertes mit sich selber sowie doppelte Prüfungen (also quasi spiegelverkehrte) zu vermeiden. Wenn ich das doppelte Schleifenprinzip richtig verstanden habe würde dies bedeuten, dass für a[0] quasi 6 mal geprüft wird, für a[1) dann 5 mal, usw. Dies macht ja auch für alle Arraywerte Sinn und die Aufgabenstellung konnte ich auch lösen. Nur meine Frage bezieht sich auf folgendes:

Wenn die äußere(!) Schleife bei a[6] angelangt ist müsste doch eigentlich a[6]==a[6+1=7] geprüft werden, was dann schlussendlich einen Error ausgeben müsste da a[7] ja nicht existiert. Wird dies lediglich nicht durchgeführt weil c<arr.length() definiert ist, die Bedingung der 2. Schleife also quasi "stärker" ist als die definierte Zählvariable (c=b+1)?

Vielen Dank
 
Zuletzt bearbeitet:
mihe7

mihe7

Top Contributor
Wird dies lediglich nicht durchgeführt weil c<arr.length() definiert ist, die Bedingung der 2. Schleife also quasi "stärker" ist als die definierte Zählvariable (c=b+1)?
Das ist zwar eine seltsame Sichtweise, aber ja. Letztlich ist es einfach so, dass die Bedingung der inneren for-Schleife nur erfüllt ist, wenn b+1 < b.length gilt - und nur, wenn die Bedingung erfüllt ist, wird der Schleifenrumpf ausgeführt.

Du kannst die for-Schleifen auch als while-Schleifen schreiben, dann wird es evtl. deutlicher.
 
Blender3D

Blender3D

Top Contributor
Wird dies lediglich nicht durchgeführt weil c<arr.length() definiert ist, die Bedingung der 2. Schleife also quasi "stärker" ist als die definierte Zählvariable (c=b+1)?
Ich würde nicht von einer stärkeren Bedingung sprechen. Der Indexzugriff erfolgt in der inneren Schleife. Die Variable c erreicht hier zwar den Wert 7. Der Zugriff auf das Array erfolgt aber nicht mehr da die 2te Bedingung nicht mehr erfüllt --> kein Fehler.
Die äußere Schleife sollte aber trotzdem um eins reduziert werden.
1) Unnötiger Durchlauf
2) Bessere Optik
Außerdem finde ich deine Idee von einer Kontrollvariable nicht gut, da du ja nicht die doppelten Einträge zählen sollst, sondern nur testen sollst ob alle Einträge verschieden sind. Eine boolean wertige Funktion wäre da eine Idee.
Java:
public static boolean checkForUniqueEntries(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            for (int ii = i + 1; ii < arr.length; ii++) {
                ..
            }
        }
        return true;
    }
 
D

darkcloud

Mitglied
Stimmt den boolean könnte man auch nutzen, da mir die Funktionsweise allerdings noch nicht so vertraut war, hatte ich mir einem alternativen Lösungsansatz gesucht 😄

Vielen Dank für eure Hilfe!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
tom.j85 Doppelte Foreach Schleife: Am Ende wird immer das Gleiche Objekt eingefügt Java Basics - Anfänger-Themen 4
L Doppelte Schleife Anpassen Java Basics - Anfänger-Themen 5
R Schleife Doppelte Daten löschen Java Basics - Anfänger-Themen 3
Luk10 Doppelte for-schleife Java Basics - Anfänger-Themen 7
C das Doppelte des Wertes in der Console ausgeben Java Basics - Anfänger-Themen 10
H Größte Duplikat (Größte Doppelte Wert) eines Arrays ausgeben Java Basics - Anfänger-Themen 9
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
H Frage zur ermittlung eines doppelte Paars aus Sotieralgorithmus Java Basics - Anfänger-Themen 4
N Best Practice Doppelte und einfach Anführungsstriche in Runtime.getruntime().exec() Java Basics - Anfänger-Themen 6
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
W Map doppelte Values löschen Java Basics - Anfänger-Themen 3
S CSV auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 8
S Doppelte Liste Einfügen Java Basics - Anfänger-Themen 1
M Argument in Integer verwandeln und das Doppelte davon printen Java Basics - Anfänger-Themen 9
T Klassen Doppelte Elemente aus Container entfernen Java Basics - Anfänger-Themen 6
M Erste Schritte Doppelte Ausgabe? (JList) Java Basics - Anfänger-Themen 1
kilopack15 Array auf doppelte Elemente überprüfen Java Basics - Anfänger-Themen 16
S Input/Output Doppelte Input-Abfrage Java Basics - Anfänger-Themen 3
K Input/Output Doppelte Ausgabe Java Basics - Anfänger-Themen 5
S Erste Schritte Doppelte Ausführung? Java Basics - Anfänger-Themen 4
E Threads Doppelte Threads beenden Java Basics - Anfänger-Themen 4
J Variablen Doppelte Werte in Int Array Java Basics - Anfänger-Themen 10
D Java doppelte Zahlen auch über 10 in einem String entfernen Java Basics - Anfänger-Themen 2
D Java doppelte Zahl/Zeichen in einem String entfernen Java Basics - Anfänger-Themen 6
S ArrayList Gruppieren, "Doppelte Werte" Addieren Java Basics - Anfänger-Themen 5
O Doppelte For-Scheife Java Basics - Anfänger-Themen 6
E Array doppelte Einträge Java Basics - Anfänger-Themen 2
S Variablen Array in ArrayList auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 4
M Einfache und Doppelte Operatoren Java Basics - Anfänger-Themen 3
P Doppelte Datensätze aus CSV-Datei löschen Java Basics - Anfänger-Themen 17
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
P Doppelte Einträge in eine List Java Basics - Anfänger-Themen 5
S Array befüllen & auf doppelte werte prüfen Java Basics - Anfänger-Themen 6
B Klassen Doppelte werte Filtern XML, Datenbank und DOM Java Basics - Anfänger-Themen 3
R Doppelte löschen Java Basics - Anfänger-Themen 6
C Doppelte Einträge aus String [] Array entfernen. Java Basics - Anfänger-Themen 5
K Doppelte namen bei random Java Basics - Anfänger-Themen 3
U Doppelte Interfcae Implementierung Java Basics - Anfänger-Themen 10
M doppelte Einträge Emailempfänger... Java Basics - Anfänger-Themen 35
G txt-File als DB>doppelte Einträge verhindern/Suche/... Java Basics - Anfänger-Themen 10
DerGroßeNargus Doppelte Liste initialisieren Java Basics - Anfänger-Themen 2
H Datentypen Doppelte Verkette Liste - Verständnissproblem Java Basics - Anfänger-Themen 5
T Doppelte Liste Java Basics - Anfänger-Themen 8
V Doppelte Zahl suchen Java Basics - Anfänger-Themen 14
L Hilfe, doppelte Zufallszahlen Java Basics - Anfänger-Themen 13
G List suchen und doppelte rausfiltern Java Basics - Anfänger-Themen 3
T Doppelte Anführungszeichen ersetzen?? Java Basics - Anfänger-Themen 4
P Doppelte Einträge in mehreren Textfiles finden und ausgeben Java Basics - Anfänger-Themen 8
T Array: Doppelte Charakteren löschen - Ein Lösungsversuch Java Basics - Anfänger-Themen 37
P doppelte Werte im Array ausgeben. Java Basics - Anfänger-Themen 4
J doppelte Einträge in einem Array Java Basics - Anfänger-Themen 7
M Aufgabe: Array auf doppelte Zahl prüfen Java Basics - Anfänger-Themen 8
-horn- Doppelte Einträge entfernen, aus Array, List oder sonstwas Java Basics - Anfänger-Themen 9
G _NUR_ doppelte Einträge in einem Array behalten Java Basics - Anfänger-Themen 3
J Doppelte Integer aus einem Array entfernen - seltsames Prob. Java Basics - Anfänger-Themen 5
G doppelte Einträge im String Array löschen Java Basics - Anfänger-Themen 21
C Doppelte Punktnotation Java Basics - Anfänger-Themen 2
0 ArrayList - doppelte Einträge entfernen? Java Basics - Anfänger-Themen 9
S Methode, um doppelte Einträge in Array zu finden Java Basics - Anfänger-Themen 5
F doppelte Elemente in HashSet Java Basics - Anfänger-Themen 5
G java.util.LinkedList: Doppelte Elemente vermeiden Java Basics - Anfänger-Themen 5
G Wie doppelte Einträge in ComboBox vermeiden ? Java Basics - Anfänger-Themen 9
M Doppelte Einträge in einer datei löschen(nach timestamp)! Java Basics - Anfänger-Themen 4
D Doppelte Einträge einer Liste löschen Java Basics - Anfänger-Themen 6
B 2 ELists vergleichen und doppelte Einträge löschen Java Basics - Anfänger-Themen 11
S "doppelte" if-Anweisung Java Basics - Anfänger-Themen 10
G Doppelte (Paar) Werte in einem Vektor finden Java Basics - Anfänger-Themen 6
F Doppelte Datensätze zusammenziehen Java Basics - Anfänger-Themen 2
V Doppelte Zahlen bei Lotto verhindern Java Basics - Anfänger-Themen 11
T for-each-Schleife, verschiedene Datentypen Java Basics - Anfänger-Themen 1
T Methode um Array mit for-each-Schleife auszulesen Java Basics - Anfänger-Themen 7
Jana01 Schleife Java Basics - Anfänger-Themen 12
H Kann eine while-Schleife ein Programm blockieren? Java Basics - Anfänger-Themen 8
D For Schleife Java Basics - Anfänger-Themen 8
TimoN11 Array -> Schleife wieder von vorne durchlaufen lassen Java Basics - Anfänger-Themen 1
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
T Variable in for Schleife ansprechen ohne Array ? Java Basics - Anfänger-Themen 25
M log4j als separate Dateien in Schleife? Java Basics - Anfänger-Themen 6
A Wie schaffe ich das eine while Schleife addiert danach subtrahirt? Java Basics - Anfänger-Themen 1
HoT verschiedene ArrayLists mit ähnlichem Namen in for-Schleife aufrufen Java Basics - Anfänger-Themen 3
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
Khaled-Abo Ziffern unterscheiden mittels einer For-Schleife Java Basics - Anfänger-Themen 6
Tino1993 for-Schleife, die eine vorgegebene Anzahl von Zeichen ausgibt Java Basics - Anfänger-Themen 3
T Bestimmte Zahlen ausgeben mit einer whilfe Schleife Java Basics - Anfänger-Themen 21
J for /while Schleife Java Basics - Anfänger-Themen 5
A While Schleife - buubelsort methode Java Basics - Anfänger-Themen 2
A eine neue normale String-Array von einer String-Array, die in for schleife ist, schaffen Java Basics - Anfänger-Themen 3
DorFey Schrittweises abändern des GUI während for-Schleife / pausieren einer for-Schleife Java Basics - Anfänger-Themen 3
P Bedingung in Schleife wird nicht ausgeführt Java Basics - Anfänger-Themen 5
J Wie kann ich hier eine While schleife einbauen? Java Basics - Anfänger-Themen 3
S While-Schleife geht in Endlosschleife über, warum? Java Basics - Anfänger-Themen 6
K Erste Schritte Programm geht aus Schleife, warum? Java Basics - Anfänger-Themen 2
N for Schleife durch Rekursion ersetzen Java Basics - Anfänger-Themen 6
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
I Java zweidimensionales array befüllen mit for-schleife Java Basics - Anfänger-Themen 2
S Do-While-Schleife Java Basics - Anfänger-Themen 2
S While Schleife Java Basics - Anfänger-Themen 4
KogoroMori21 Mit einer Schleife eine Treppe zeichnen Java Basics - Anfänger-Themen 29
S Do-While Schleife Java Basics - Anfänger-Themen 6
T Programm Schleife/if Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben