Datentypen ein java problem rekursiv loesen

ernd59

Neues Mitglied
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));
}
} }
 
Ich kann's Dir auch nicht sagen. aber den Code kann man hier klauen.
Java:
package permutation;

public class PermutationApp {
	static final String ALHPABET = "abcdefghijklmnopqrstuvwxyz";

	private static void permute(String beginningString, String endingString) {
		if (endingString.length() <= 1) {
			System.out.println(beginningString + endingString);
		} else {
			for (int i = 0; i < endingString.length(); i++) {
				permute(beginningString + endingString.charAt(i), 
					endingString.substring(0, i) + endingString.substring(i + 1));
			}
		}
	}
	
	public static void permute(String s) {
		permute("", s);
	}

	public static void main(String [] args) {
		permute(ALHPABET.substring(0, 3));
	}
}
 
Danke aber ich muss von dieser Struktur starten


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);
}
}
}
 

Zurück
Oben