Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Strings aus char Array generieren

Frage Entwicklung Java

Mitglied: Turrex0100

Turrex0100 (Level 1) - Jetzt verbinden

03.06.2013, aktualisiert 17:13 Uhr, 2405 Aufrufe, 2 Kommentare

Hallo Forum,

Ich bin auf der Suche nach einem Algorithmus um aus einem gegebenen char Array
alle möglichen Buchstabenkombinationen einer länge k in ein String Array zu schreiben.

Ein beispiel:

Char array enthält: 'a','b','c'
k = 2
dann soll das String Array so aussehen: "ab","ac","ba","bc","cb","ca"


Im Prinzip ist das Ganze doch ein Auswahlproblem quasi "ziehen ohne zurücklegen"
wie zb Lotto somit müsste die Anzahl der Kombinationen n über k sein.


die Länge des Char Arrays und der Wert von k kann dabei unterschiedlich sein.

Leide hab ich noch keine richtige Idee wie ich das Problem lösen kann.
Gibt es bereits einen solchen Algorithmus den ich nur noch implementieren muss,
oder habt ihr vielleicht irgendwelche Ideen?

Gruss Malte.
Mitglied: colinardo
03.06.2013, aktualisiert um 20:57 Uhr
Hallo Malte,
das gleiche Problem wird hier diskutiert, ist zwar für VB aber lässt sich sicher auch in Java umsetzen:
http://www.tutorials.de/visual-basic-6-0/260088-algorithmus-fuer-kombin ...

Grüsse Uwe
Bitte warten ..
Mitglied: colinardo
05.06.2013, aktualisiert um 14:41 Uhr
Das was du suchst nennt sich Permutation, bin zwar kein Java-Profi aber das hier müsste funktionieren(p.s. ist nicht sehr performant):
01.
import java.util.ArrayList; 
02.
import java.util.LinkedHashSet; 
03.
import java.util.Set; 
04.
 
05.
public class GenerateCombinations { 
06.
 
07.
    public static String chars = "ABCDEFGH"; 
08.
    public static int anzahl = 2; 
09.
     
10.
    public static void main(String[] Args){ 
11.
        PermutationGenerator generator = new PermutationGenerator(chars,anzahl); 
12.
        ArrayList<String> permutations = generator.getPermutations(); 
13.
        Set<String> s = new LinkedHashSet<String>(permutations); 
14.
        System.out.println(s); 
15.
16.
17.
class PermutationGenerator { 
18.
 
19.
    private String string; 
20.
    private ArrayList<String> permutations; 
21.
    private int MaxLengthOfFinalString; 
22.
 
23.
    public PermutationGenerator(String string, int laenge) { 
24.
        this.string = string; 
25.
        this.permutations = new ArrayList<String>(); 
26.
        this.MaxLengthOfFinalString = laenge; 
27.
28.
 
29.
    public ArrayList<String> getPermutations() { 
30.
        permutation("", this.string); 
31.
        return this.permutations; 
32.
33.
 
34.
    private void permutation(String prefix, String str) { 
35.
        int n = str.length(); 
36.
        if (n == 0) { 
37.
            this.permutations.add(prefix.substring(0,MaxLengthOfFinalString)); 
38.
        } else { 
39.
            for (int i = 0; i < n; i++) { 
40.
                permutation(prefix + str.charAt(i), str.substring(0,i) + str.substring(i+1,n)); 
41.
42.
43.
44.
}
Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Error: C2065 - for each Char in Char Array
gelöst Frage von DarkproduktVisual Studio

Guten Abend, ich versuche gerade meiner Textbox eine "Maske" zu verpassen. Ich weis es gibt auch MaskedTextBox aber diese ...

Linux Tools
Bash String Array
Frage von SIPSIPLinux Tools7 Kommentare

Hallo Leute ich schon wieder :) Zur Info: Grund für meine vielen Fragen ist, weil ich ein Projekt bekommen ...

Batch & Shell
PowerShell Array Elements zum String
gelöst Frage von derhoeppiBatch & Shell1 Kommentar

Hallo, ich stehe vor folgender Herausforderung. Nachdem ich nun erfolgreich zwei Arrays vergleichen kann in dem ganze Zahlen stecken, ...

Visual Studio
String bzw Char in Argumentenkette einbinden, möglich?
gelöst Frage von PixL86Visual Studio4 Kommentare

Hallo zusammen, aktuell bastel ich ein kleines Progrämmchen via VB 2010 Express. Dieses Tool soll dem User so einfach ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 6 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 13 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 15 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 18 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1018 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...