Quellcode
- /**
- *
- * @author Torben Brodt
- * @version 1.0
- *
- * <p />Prüft ob die 2 eingegebenen Strings Anagramme sind
- * <p />Funktioniert mit Java < 1.5
- */
- public class A1_Anagramm {
- /**
- * @param args -> Die beiden Strings
- */
- public static void main(String[] args) {
- if(args.length != 2) {
- System.err.println("Fehler beim Funktionsaufruf");
- System.exit(1);
- }
- if(isAnagramm(args[0].toLowerCase(), args[1].toLowerCase(), args[0].length()))
- System.out.print(args[0]+" & "+args[1]+" sind Anagramme");
- else
- System.out.print(args[0]+" & "+args[1]+" sind keine Anagramme");
- }
- /**
- *
- * @param string1
- * @param string2
- * @param i
- * @return
- */
- static boolean isAnagramm(String string1, String string2, int i)
- {
- if(string1.length() != string2.length() && i == string1.length())
- return false;
- if(i==0)
- return true;
- int pos = string2.indexOf(string1.substring(i-1,i));
- if(pos == -1)
- return false;
- else {
- string2 = string2.substring(0,pos) + string2.substring(pos+1); // lösche das Zeichen
- System.out.println("\""+string1.substring(i-1,i)+"\" gefiltert -> String2 sieht jetzt so aus: "+string2);
- return isAnagramm(string1, string2, --i);
- }
- }
- }