Doppelte For Schleife / Array

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

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

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;
    }
 

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
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
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
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
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
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
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben