Java: Zufälliges Element aus Array nehmen?

3 Antworten

Du kannst dir mit der Random-Klasse je Ebene einen zufälligen Index erstellen lassen.

Beispiel, welches ein zufälliges Element aus dem innersten Array ermittelt:

Random zufallsgenerator = new Random();
int x = zufallsgenerator.nextInt(sieben.length);
int y = zufallsgenerator.nextInt(sieben[0].length);
String zufallswert = sieben[x][y];

PS.: Du kannst die Variable sieben lokal nur einmal innerhalb desselben Kontext erstellen.

Mit der Radom Funktion kannst du einen pseudozufälligen Index nehmen.

import java.util.concurrent.ThreadLocalRandom;

public class MyClass {
    public static void main(String args[]) {
    
    String[][] sieben = {{"Haus", "Frau", "Killer", "David", "Superman"}, {"backt", "tanzt", "singt", "arbeitet", "fährt"}, {"gerne", "schnell", "niemals", "entspannt", "verliebt"}};

    for (String[] arrElement: sieben) {
            int randomNum = ThreadLocalRandom.current().nextInt(0, arrElement.length);
            System.out.println(arrElement[randomNum]);
        } 
    }
}

Btw. du kannst das zweidimensionale Array "sieben" nicht einfach doppelt definieren ^^'


xhenet  13.12.2019, 17:25

Statt

int randomNum = ThreadLocalRandom.current().nextInt(0, arrElement.length);

kannst du natürlich auch

int randomNum = (int)(Math.random()*((arrElement.length)));

verwenden, das währe aber nicht so kreativ :P