Wydrukowanie wszystkich kombinacji ciągów z danego zbioru znaków

0

Witam,

mam tablice z literami alfabetu:

char[]a = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'Q', 'R','S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' },

musze zrobic algorytm, ktory wydrukuje mi:

  1. dwie wariacje czyli AA, AB, AC ...
  2. trzy wariacje AAA, AAB, AAC...
  3. w nieskonczonosc...
  4. jesli zalozymy, ze A=1, B=2 itd, jak napisac program, ktory wyswietli nam nazwe napisana 39624?

Prosze o jakies podpowiedzi.

0
  1. Dwie pętle - jedna w drugiej, która iteruje po tablicy z literami, robisz jakaś zmienna i dopisujesz w obu pętlach po jednej literce. Później w drugiej pętli wyświetlasz utworzony ciąg i możesz usunąć ze zmiennej ostatni znak.

  2. Tak samo, tylko 3 pętle.

  3. Co w nieskończoność?

    • podajesz ciąg liczbowy.
    • iterujesz po nim
    • zamieniasz cyfrę na element w tablicy+1
    • zapisujesz to do utworzonej zmiennej
    • pod tablica ja wyswietlasz
0

napisalam ale nie umiem tego do konca skleic
for (char c ='A'; c<='Z';c++) {
for (char d='A'; d<= 'Z' ; d++)

jak napisze System.out.println( c); - wyswietli same AAAAA,BBB itd
jak System.out.println( d); to ABCD itd
ale razem nie wyswietla sie

0
winni napisał(a):

napisalam ale nie umiem tego do konca skleic
for (char c ='A'; c<='Z';c++) {
for (char d='A'; d<= 'Z' ; d++)

jak napisze System.out.println( c); - wyswietli same AAAAA,BBB itd
jak System.out.println( d); to ABCD itd
ale razem nie wyswietla sie

Nie możesz tylko w drugiej pętli wypisywać liter.
Robisz zmienna, gdzie w pierwszej pętli wpisujesz jedna literkę (A) a w drugiej pętli dopisujesz druga literkę do tego ciągu (AA), wyswietlasz i z tej zmiennej usuwasz ten ostatni znak, wtedy znów masz tylko A. Druga pętla jedzie wtedy kolejny znak. A pierwsza czeka aż druga skończy robotę.

0

Kombinacja z dwoma liczbami wyszla, dziekuje za pomoc.
ale z trzema petlami nie wiem co jest zle?

for (char c ='A'; c<='Z';c++) {
  for (char d ='A'; d<='Z' ; d++) {
    for (char b ='A'; b <='Z' ; b++)
      System.out.print(b);

    System.out.print(d);
    System.out.print((c)+" ,");

1 użytkowników online, w tym zalogowanych: 0, gości: 1