English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java-Grundlagen-Tutorial

Java-Flusskontrolle

Java-Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java-Exception-Verarbeitung

Java Liste (List)

Java Queue (Warteschlange)

Java Map-Kollektion

Java Set-Kollektion

Java Eingabe-Ausgabe (I/O)

Java Reader/Writer

Andere Themen von Java

Java-Programm berechnet alle Permutationen eines Strings

Java Beispiele大全

In diesem Beispiel werden wir lernen, wie man alle Permutationen eines Strings in Java berechnet.

Um diesen Beispiel zu verstehen, sollten Sie die folgenden Kenntnisse habenJava-ProgrammierungThema:

Die Permutation eines Strings ist die Summe aller möglichen neuen Strings, die durch Vertauschen der Zeichen im String erstellt werden können. Zum Beispiel, der String ABC haten Permutationen [ABC, ACB, BAC, BCA, CAB, CBA].

Beispiel: Java-Programm zur Erzeugung aller Permutationen eines Strings

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
class Main {
  public static Set<String> getPermutation(String str) {
    //Erstelle eine Set-Kollektion, um doppelte Permutationen zu vermeiden
    Set<String> permutations = new HashSet<String>();
    //Überprüfe, ob der String leer ist
    if (str == null) {
      return null;
    } else if (str.length() == 0) {
      //Rekursive Abbruchbedingung
      permutations.add("");
      return permutations;
    }
    //Erhalte den ersten Buchstaben
    char first = str.charAt(0);
    //Erhalte den verbleibenden Teilstring
    String sub = str.substring(1);
    //Rekursive Aufruf von getPermutation()
    Set<String> words = getPermutation(sub);
    //Durchlaufe words
    for (String strNew : words) {
      for (int i = 0; i <= strNew.length(); i++{
        //Die Permutation wird in die Set-Kollektion eingefügt
        permutations.add(strNew.substring(0, i)) + first + strNew.substring(i));
      }
    }
    return permutations;
  }
  public static void main(String[] args) {
    //Erstellt ein Objekt der Klasse Scanner
    Scanner input = new Scanner(System.in);
    // Nimmt die Eingabe des Benutzers an
    System.out.print("Eingabezeichenfolge: ");
    String data = input.nextLine();
    System.out.println(data + " \ + getPermutation(data));
    }
}

Ausgabeergebnis

Eingabezeichenfolge: ABC
Die Permutationen von ABC lauten: 
[ACB, BCA, ABC, CBA, BAC, CAB]

In Java verwenden wir Rekursion, um alle Permutationen von Zeichenfolgen zu berechnen. Hier speichern wir die Permutationen im Set. Daher gibt es keine wiederholten Permutationen.

Java Beispiele大全