Erste Schritte if-Anweisung in for- oder while-schleife umwandeln

samythekid

Neues Mitglied
Hey,

ich habe den folgenden Code fürs erzeugen eine Reihe von zufälligen Integer-werten von 1 bis 9 (jede zahl darf nur einmal auftauchen also keine Duplikate erlaubt!) geschrieben:
Code:
int[] a = new int[9];
int m = 0;
while (m != 9) {
	int w = (int) (Math.random() * 10);
	if (a[0] != w && a[1] != w && a[2] != w && a[3] != w && a[4] != w && a[5] != w && a[6] != w && a[7] != w && a[8] != w) {
		a[m] = w;
		m++;
	}
}
for (int value : a) {
	System.out.print(value + "  ");
}

meine Frage ist: wie kann ich die ganz lange if in einer Schleife umwandeln?

Grüße
Sammy
 

hdi

Top Contributor
Gibt verschiedenste Ansätze. Am saubersten ist es wohl wenn du dir eine Hilfsmethode

Code:
boolean contains (int[] array, int number)

schreibst, welche eben mittels einer for-Schleife alle Fächer des Arrays gegen die übergebene Zahl abgleicht, und true returned sobald die Zahl gefunden wurde (Ansonsten false). Dann kannst du deine fette if-Anweisung ersetzen durch ein einfaches
Code:
if(!contains(a,w))

Wenn du die for-Schleife nicht in eine Methode auslagern willst, dann würde sich hier sogar ein Code Label anbieten. Ich weiß ich werde gleich in der Luft zerissen wenn ich dir den folgenden Code zeige, aber ich steh da drüber :D

Java:
GENERATE_NUMBERS: // das nennt sich "Code Label"
   while (m != 9) {
	int w = (int) (Math.random() * 10);
	for(int i = 0; i<a.length; i++){
           if(a[i] == w){
               continue GENERATE_NUMBERS; // abbrechen, und neue Zahl würfeln
           }
        }
        a[m] = w;
        m++;
   }

edit: Irgendwie verkackt er grad die Code-Einrückung. In meinem Post ist es korrekt, hier wird's falsch eingerückt. Also achte gut auf die Klammern, das a[m] = w und m++ kommt nach der gesamten for-Schleife.
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Oder einfach ein Set verwenden.
Oder einfach alle Zahlen in eine Liste stecken (Arrays.asList(1,2,3,4,5,6,7,8,9) und dann Collections.shuffle oder eben selbst irgendwie wild durchmischen, dann terminiert das Programm auch 100% :p
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Es ist nicht möglich, eine Batch-Anweisung auszuführen. Allgemeine Java-Themen 9
W Switch Anweisung Allgemeine Java-Themen 4
killig HashMap mit if-Anweisung überprüfen Allgemeine Java-Themen 4
MiMa Switch Anweisung Allgemeine Java-Themen 10
S Methoden "Unschöne" Break-Anweisung aus verschachtelter Funktion entfernen Allgemeine Java-Themen 11
E Die if-Anweisung in einer Java Bean bzw. in einem Servlet? Allgemeine Java-Themen 8
O Darstellung von else if anweisung im struktogramm? Allgemeine Java-Themen 1
J VB --> Java (Set Anweisung) Allgemeine Java-Themen 2
M if-Anweisung in endlosschleifewird nicht aufgerufen Allgemeine Java-Themen 2
J if else Anweisung macht nicht was es soll. Wieso? Allgemeine Java-Themen 10
S Else-Anweisung Problem Allgemeine Java-Themen 17
S Problem mit if-Anweisung Allgemeine Java-Themen 6
K import- Anweisung fehlerhaft und andere Fehler (eclipse) Allgemeine Java-Themen 2
R if-Anweisung wird angemeckert, andere identische nicht Allgemeine Java-Themen 9
@ [Eclipse] Fehlermeldung bei import-Anweisung Allgemeine Java-Themen 3
M try-catch (Wie erzwing ich die catch-Anweisung)? Allgemeine Java-Themen 13
M Problem mit if-Anweisung Allgemeine Java-Themen 10
S mehrfach if-anweisung Allgemeine Java-Themen 8
B Zwei Bedingungen für eine Anweisung Allgemeine Java-Themen 4
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
MangoTango Operatoren while-Schleife für Potenz Allgemeine Java-Themen 3
M Keine weitere Eingabe in der Main möglich. Eventueller Ansatz über while. Allgemeine Java-Themen 8
D While-Schleife - if Zweig unterbrechen Allgemeine Java-Themen 1
C Schachbrett mit while-schleifen Allgemeine Java-Themen 7
T String aus While Schleife für ganze Klasse sichtbar machen Allgemeine Java-Themen 5
M While-Schleife schneller, solange die Abbruchbedingung nicht vom Schleifeninneren abhängt Allgemeine Java-Themen 3
J While Schleife ausführen bis Zahl = X Allgemeine Java-Themen 19
A Swing Taschenrechner while Schlaufe Allgemeine Java-Themen 12
I NullPointer während while(){} Allgemeine Java-Themen 4
N Frage zur while-Schleife Allgemeine Java-Themen 18
G while Schleife ausführen solange eine Taste gedrückt ist Allgemeine Java-Themen 14
S for-Schleife, while-Schleife Problem Allgemeine Java-Themen 6
R while schleife auf 3 durchgänge beschränken Allgemeine Java-Themen 6
V anstatt thread.join() einfach while schleife? Allgemeine Java-Themen 8
D ProcessBuilder und die while() Allgemeine Java-Themen 3
S Do-While Schleife bricht nicht ab Allgemeine Java-Themen 3
T Rekursion mit While Schleife kombinieren? Allgemeine Java-Themen 4
J Thread pausieren, lange while-Schleife Allgemeine Java-Themen 8
W While-ESC-Schleife funktioniert nicht Allgemeine Java-Themen 3
H Threads.... ich will aus der While-Schleife raus Allgemeine Java-Themen 6
J Schachbrett mit for- oder while-Schleife Allgemeine Java-Themen 22
V Problem in While-Schleife Allgemeine Java-Themen 3
J Konsolen Anwendung mit while(true) Allgemeine Java-Themen 6
T getParameter in while schleife Allgemeine Java-Themen 3
O while - Schleife unterbrechen mit break; Allgemeine Java-Themen 5
M Problem mit while/do Schleife Allgemeine Java-Themen 12
B Try/Catch in While-Schleife mit Scanner - Hilfe! Allgemeine Java-Themen 3
N while Schlauf und ActionEvent Allgemeine Java-Themen 2
L Exception auslösen, um while Schlaufe zu verlassen(rxtx.org) Allgemeine Java-Themen 6
F While(true)-Schleife im JPanel Allgemeine Java-Themen 9
N vergleich mit while und for schleife Allgemeine Java-Themen 7
B while mit BufferedReader beenden Allgemeine Java-Themen 5
T Verschachtelte For-Schleife gibt falschen Wert zurück, Abbruchbedingung evtl. falsch? Allgemeine Java-Themen 9
A verschachtelte for-Schleife in einen Stream umwandeln? Allgemeine Java-Themen 4
A Wie schreibe ich eine For-Schleife in ein Stream API um? Allgemeine Java-Themen 12
berserkerdq2 Wie synchronisiere ich eine for-Schleife Allgemeine Java-Themen 12
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
M Schleife für einen TicTacToe Computer Allgemeine Java-Themen 5
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
A For-Schleife Allgemeine Java-Themen 5
J Algorithmen Analyse einer Schleife Allgemeine Java-Themen 6
1 Klassen Variabel aus Schleife übergeben Allgemeine Java-Themen 8
D "Automatisierte", variable verschachtele for-Schleife Allgemeine Java-Themen 9
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
K For-Schleife <> oder != Operator verwenden? Allgemeine Java-Themen 2
J Einen Thread in einer Schleife Allgemeine Java-Themen 2
F Zweifache For-Schleife Allgemeine Java-Themen 6
P Operatoren Problem mit Zähler in recursiver Schleife Allgemeine Java-Themen 2
S Variablen String[] Array per schleife in int[] einlesen Allgemeine Java-Themen 8
D Methoden Buttons erscheinen doppelt nach Wiederholung in Schleife Allgemeine Java-Themen 1
RalleYTN Problem bei Schleife die durch einen 2D raum iterieren soll Allgemeine Java-Themen 1
T for - Schleife Allgemeine Java-Themen 1
R Komplizierte Schleife Allgemeine Java-Themen 1
Q For-Schleife in String-Value Allgemeine Java-Themen 3
F Abstrakte Klasse in "For each" Schleife Allgemeine Java-Themen 1
F for-Schleife auf Kommandoebene ausgeben Allgemeine Java-Themen 9
P Input/Output java.util.Scanner in einer Schleife und Exception-Behandlung: Einlesen einer Zahl Allgemeine Java-Themen 4
P Erweiterte For Schleife Allgemeine Java-Themen 7
D Arraylist/For Schleife/Scanner Allgemeine Java-Themen 30
Y automatisierte for Schleife Allgemeine Java-Themen 13
B For schleife und weiter? Allgemeine Java-Themen 8
D Probleme bei for-Schleife Allgemeine Java-Themen 4
L einfache Verzinsung mit for-Schleife & Ausschluss von Werten beim Einlesen Allgemeine Java-Themen 5
M for Schleife mit Swing Button abbrechen Allgemeine Java-Themen 7
M PdfPTable per for-Schleife befüllen Allgemeine Java-Themen 3
F for-Schleife mit : Allgemeine Java-Themen 5
S Pattern.Match Suche: For Schleife einbinden und in Liste schreiben Allgemeine Java-Themen 3
W Problem mit Index in einer for-Schleife Allgemeine Java-Themen 8
A Collections Array-Elemente in ArrayList kopieren ohne Schleife Allgemeine Java-Themen 7
P Variablen Auf durch for-Schleife generierte JComboBox zugreifen Allgemeine Java-Themen 3
F Foreach und for - Schleife Allgemeine Java-Themen 10
W Berechnung Durchschnitt mit Schleife Allgemeine Java-Themen 9
H Netbeans Warning bei Thread.sleep in Schleife Allgemeine Java-Themen 4
A java.lang.NullPointerException bei Schleife Allgemeine Java-Themen 3
S Erste Schritte Exception beendet Schleife nicht - Methode macht trotz throw weiter? Allgemeine Java-Themen 9
x22 for-Schleife Allgemeine Java-Themen 76
S Text in for Schleife in Label einfügen Allgemeine Java-Themen 4
J Schleife mit : Allgemeine Java-Themen 18
S Klassen in einer Schleife durchlaufen Allgemeine Java-Themen 11

Ähnliche Java Themen


Oben