Java zufällige Position im Array ausgeben?

Was ich bis jetzt geschafft habe - (Computer, programmieren, Java)

4 Antworten

Du kannst (was ich immer mache) die Dinge in der Liste zufällig anordnen und dann das erste Element nehmen:

Collections.shuffle(mannschaften);
System.out.println(mannschaften[0]);
Woher ich das weiß:Studium / Ausbildung – Ausbildung Fachinformatiker Anwendungsentwicklung

rmnstr  29.06.2016, 19:59

Außerdem sehr unschön, das Array oder die Collection selbst permanent zu verändern, nur um einen zufälligen Eintrag auszugeben.

androhecker  29.06.2016, 18:41

Das geht eben nicht mit Arrays, man müsste das Array zwei mal konvertieren, zu umständlich.

Die normale Lösung wäre mit Random:

Random random = new Random();
//Oder was auch immer du damit machen willst
System.out.println(mannschaften[random.nextInt(mannschaften.length)]);

Du hast auch nach einem Random Buchstaben gefragt, das geht so:

Random random = new Random();
String foo = "foo";
char character = foo.charAt(random.nextInt(foo.length()));

Du kannst ein Random erzeugen. Kenne mich in java auch nich ganz aus aber google das mal. Du nimmst ein Ramdom und einen int. Der int kommt dann in deine ausgabe.

z.B.
C# Code:
string[] Array = new string[4];
Random r = new Random();
int i = r.Next(5); //geht von 0 - 4
Console.WriteLine(Array[i]);


brechstange2 
Beitragsersteller
 29.06.2016, 16:58

Abgesehen davon dass ich schon mit Random arbeite. Habe weiter unten schon ein zufälliges Ergebnis ausgegeben wie eine Partie enden könnte, verstehe ich nicht was du sagst... ich kenne mich wirklich nur sehr oberflächlich aus und habe alles was ich weiß schon probiert... 

Trz. danke:)

brechstange2 
Beitragsersteller
 29.06.2016, 17:05
@Neubii

Schon da hörts auf:D
Wohin soll ich denn das ausgeben wollen?...

Vielleicht nochmal anders. 
Ich habe schon überlegt ein Random zu erstellen das mir zufällig ein Buchstabe ausgibt, eben von den genannten d,s,i oder b. 
Aber keine Ahnung wie das funktioniert.
Ist ne Aufgabe vom It-Unterricht. 

Anscheinend soll das auch mit ner schleife gehen, das klingt für mich aber komplizierter^^

Neubii  29.06.2016, 17:09
@brechstange2

das ist unnötig kompliziert.
Wenn du dir zufällig einen buchstaben holst brauchst du wieder einen extra schritt.
Wenn du willst kann ich dir helfen indem wir skypen oder uns im TS unterhalten.

Müssen die Strings d s i b auch verwendet werden? Geht ja auch ohne.