Это работающий алгоритм с некоторыми свойствами, которые можно выбрать, без двуличности и с любым размером ввода.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
public class JavaApplication191 {
public static String randomMessages[]
= {
"Message 1 (Change this)",
"Message 2",
"LOL",
"fdasfsd"
};
public static void main(String[] args) {
int howManyWords = 2; //this is how many words you want in your output
List<String> listOfWords = new ArrayList<>(); //here you create new list
Random randomGenerator = new Random(); //this is randomGenerator, it helps you generate random numbers
listOfWords.addAll(Arrays.asList(randomMessages)); //You can use listOfWords.add("LOL") to add new property, or you can add array like this
List<String> selectedRandomMessages = new ArrayList<>(); //here I put output
for (int i = 0; i < howManyWords; i++) {
int randomNumber = randomGenerator.nextInt(listOfWords.size()); //I generate random number from 0 to size of list -1
String randomItem = listOfWords.get(randomNumber); //here I select string by index I generated
selectedRandomMessages.add(randomItem); //now I add this word into my output list
listOfWords.remove(randomItem); //and I remove this item from input list, so I do not get any duplicities
}
System.out.println(selectedRandomMessages);
}
}
выход Образец:
[Message 2, LOL]
генерировать 2 случайное взаимодействие между 0-3 и выбором двух ied form your array –
Можете ли вы привести примеры ожидаемого результата? Я не понимаю «случайную строку из этих 4 строк. НО мне нужно взять только 2 строки оттуда». –
В результате я ожидаю: «LOLfdasfsd». Он добавит 3 и 4 строки. – Tadas