Podmínka pro NEopakování znaku – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Podmínka pro NEopakování znaku – Java – Fórum – Programujte.comPodmínka pro NEopakování znaku – Java – Fórum – Programujte.com

 

Mongoloid
~ Anonymní uživatel
1 příspěvek
3. 12. 2014   #1
-
0
-

Dobrý den, potřeboval bych poradit jak vytisknout řetězce znaků tak aby se neopakovaly stejné znaky v jedné kombinaci. Tzn. potřebuji tohle:

ABCDEFGH
LVJQMKIF
OTWZUMXY

místo tohodle:

AAAAAAAB
UUNHRTIR
DKLMNNNN

Snad jsem to nastínil dostatečně   

public class Combo {

    public static void main(String[] args) {

        char[] alphabet = new char[] {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
        StringExcersise.possibleStrings(8, alphabet,"");
    }

} class StringExcersise {

    public static void possibleStrings(int maxLength, char[] alphabet, String curr) {

        if(curr.length() == maxLength) {
            System.out.println(curr);

strings again
        } else {
            for(int i = 0; i < alphabet.length; i++) {
                String oldCurr = curr;
                curr += alphabet[i];
                possibleStrings(maxLength,alphabet,curr);
                curr = oldCurr;
            }
        }
    }
}


Děkuji Vám za jakoukoliv radu.

Nahlásit jako SPAM
IP: 89.103.149.–
ingiraxo+15
Grafoman
3. 12. 2014   #2
-
0
-

#1 Mongoloid
Nehledej v tom nic složitýho, prostě si vždy promícháš pattern znaků a vypíšeš prvních 8 (nebo kolik potřebuješ) 

public static void main(String[] args)
{
    String pattern = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    // 5 hesel o delce 8 znaku bez duplicitnich znaku
    for (int i = 0; i < 5; i++) {
        String p = shuffle(pattern);
        System.out.println(p.substring(0, 8));
    }
}

public static String shuffle(String pattern)
{
    char[] chars= pattern.toCharArray();
    for (int i = 0; i < chars.length; i++) {
        int rand = (int) (Math.random() * chars.length);
        char tmp = chars[i];
        chars[i] = chars[rand];
        chars[rand] = tmp;
    }
    return new String(chars);
}
Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

Podobná vlákna

Podminka pri nacteni znaku — založil crash40

Podmínka pro pole — založil Ryan99

Podmínka pro okénko — založil Honza

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý