Próbuję utworzyć program do generowania losowej nazwy konta dla użytkownika. Użytkownik kliknie przycisk, który skopiuje nazwę konta do schowka. Część GUI działa, ale po prostu nie mogę wymyślić najlepszego sposobu radzenia sobie z przypadkową generacją ciągu.Algorytm generowania losowego łańcucha z surowymi ograniczeniami - Java
dozwolone znaki w nazwie użytkownika: A-Z a-z _
żadne numery, mogą wystąpić żadne inne symbole, a nie dwa tego samego znaku w wierszu.
Musi mieć długość sześć.
Mój pomysł:
create an array of characters:
[ _, a, b, c, d ... etc ]
Generate a random integer between 0 and array.length - 1
and pick the letter in that slot.
Check the last character to be added into the output String,
and if it's the same as the one we just picked, pick again.
Otherwise, add it to the end of our String.
Stop if the String length is of length six.
Czy istnieje lepszy sposób? Być może z regex? Mam przeczucie, że myślę o zrobieniu tego tutaj, jest naprawdę złe.
Wystarczy być jasne, 'a_a_a_' jest w porządku? – user1803551
Dlaczego potrzebujesz lepszego sposobu? Co jest nie tak z twoim pomysłem? Jest prosty, odpowiada Twoim wymaganiom - wystarczy go zakodować. – user3707125
Pamiętaj, że prawdopodobnie zapomniałeś o ważnym ograniczeniu: nie możesz mieć dwóch użytkowników o tej samej nazwie, prawda? Dlaczego nie pozwolisz użytkownikom wybrać własnego nazwiska, które mogą zmienić? Przygotuj się na ciągłe prośby użytkowników, którzy zapomnieli o nazwie swojego konta. –