Попробуйте следующую функцию:
void permute(String[] items, String[] soFar, int depth) {
if (depth == soFar.length) {
System.out.println(Arrays.toString(soFar));
return;
}
for(String item: items) {
soFar[depth] = item;
permute(items,soFar,depth+1);
}
}
Назовите это так:
permute(new String[] {"J","T","R"},new String[3],0);
Первый аргумент - это массив элементов, которые вы хотите переставить, второй аргумент - этопустой массив - это столько, сколько вы хотите, чтобы были перестановки, и третий аргумент должен быть 0, чтобы его запустить.