ich muss ein problem in java rekursiv lösen !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! :shock: :bahnhof:
Das Programm erhält als Parameter eine Ganzzahl und soll alle
möglichen Permutationen des Alphabets lexikographisch sortiert ausgeben. Bei einem Aufruf mit 3
als Kommandozeilenparameter soll beispielsweise folgende Ausgabe erzeugt werden:
abc
acb
bac
bca
cab
cba
public class StringPermut implements PermutationInterface {
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
String alphabet ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
String elements = alphabet.substring(0, n);
StringPermut stringPermut = new StringPermut();
String[] stringPermutations = stringPermut.permutations(elements);
for (String stringPermutation : stringPermutations) {
System.out.println(stringPermutation);
}
}
}
ich habe dieses problem versucht so zu loesen ,aber es hat nicht funktioniert ;( , bitte sagen sie mir , Was habe ich Falsch gemacht????
public class StringPermut implements PermutationInterface {
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
String alphabet ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
String elements = alphabet.substring(0, n);
StringPermut stringPermut = new StringPermut();
String[] stringPermutations = stringPermut.permutations(elements);
for (String stringPermutation : stringPermutations) {
System.out.println(stringPermutation);
}
}
public String[] permutations(String s) {
permutations("", s);
return null;
}
private static void permutations(String s2, String s) {
int k = s.length();
if (k == 0) System.out.println(s2);
else {
for (int i = 0; i < k ; i++)
permutations(s2 + s.charAt(i), s.substring(0, i) + s.substring(i+1, k));
}
} }
Das Programm erhält als Parameter eine Ganzzahl und soll alle
möglichen Permutationen des Alphabets lexikographisch sortiert ausgeben. Bei einem Aufruf mit 3
als Kommandozeilenparameter soll beispielsweise folgende Ausgabe erzeugt werden:
abc
acb
bac
bca
cab
cba
public class StringPermut implements PermutationInterface {
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
String alphabet ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
String elements = alphabet.substring(0, n);
StringPermut stringPermut = new StringPermut();
String[] stringPermutations = stringPermut.permutations(elements);
for (String stringPermutation : stringPermutations) {
System.out.println(stringPermutation);
}
}
}
ich habe dieses problem versucht so zu loesen ,aber es hat nicht funktioniert ;( , bitte sagen sie mir , Was habe ich Falsch gemacht????
public class StringPermut implements PermutationInterface {
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
String alphabet ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
String elements = alphabet.substring(0, n);
StringPermut stringPermut = new StringPermut();
String[] stringPermutations = stringPermut.permutations(elements);
for (String stringPermutation : stringPermutations) {
System.out.println(stringPermutation);
}
}
public String[] permutations(String s) {
permutations("", s);
return null;
}
private static void permutations(String s2, String s) {
int k = s.length();
if (k == 0) System.out.println(s2);
else {
for (int i = 0; i < k ; i++)
permutations(s2 + s.charAt(i), s.substring(0, i) + s.substring(i+1, k));
}
} }