package sem2Blok15og16;//Opgave 5//I denne opgave skal du skrive en metode, der kan udskrive alle anagrammer af et givet ord. Et anagram af et ord, er et andet ord indeholdende de samme bogstaver som det oprindelige ord.//F.eks. har ordet ”kat” følgende anagrammer:// kat// kta// atk// akt// tak// tka//(Ikke alle ordene er lige korrekte men det ser vi bort fra i denne opgave)////Ideen til at løse dette ved rekursion kan illustreres på følgende måde:////Find anagrammer til K A T// ”K” + rekursiv kald(”AT”)// ”A” + rekursiv kald(”TK”)// ”T” + rekursiv kald(”KA”)//Dvs. kald rekursivt pånær med første bogstav. Efter det rekursive kald laves rotation så 1. bogstav placeres bagest i ordet.////Metoden skal have følgende signatur:////public void anagram(String prefix, String tekst){//}//”prefix” er den String der skal sættes foran resultatet af det rekursive kald. ”tekst” er den String der skal //findes anagrammer af. Så start kaldet kunne se ud som følger:////anagram(””,”kat”)public class Opgave5 { public static void main(String[] args) {System.out.println(anagram("","kat"));anagram("","kat") } public void anagram(String prefix, String tekst) { tekst = "kat"; if (tekst.length() <= 1) { throw new RuntimeException( "Der kan ikke laves et anagram på denne ord"); } else {String udenFørste = tekst.substring(1, tekst.length()-1);String første = tekst.substring(0);anagram(udenFørste, første); } }}