KS1_2_Projekt/Aufgaben.java

58 lines
1.7 KiB
Java

import java.util.HashMap;
import java.util.Map;
public class Aufgaben
{
public static void buchstabenZählen(String text)
{
var häufigkeiten = Zählen.countEachLetter(text);
Zählen.printZahl(häufigkeiten);
}
public static void binärbaum(String text)
{
Map<Character, Integer> zahlen = Zählen.countEachLetter(text);
Node wurzel = Node.erstellen(zahlen);
HashMap<Character, String> codes = new HashMap<Character, String>();
if(wurzel.getLeft() == null && wurzel.getRight() == null)
{
codes.put(wurzel.getBuchstabe(), "0");
}
else
{
Komprimierung.generieren(codes,wurzel,"");
}
for (var entry : codes.entrySet())
{
System.out.println("Buchstabe: " + entry.getKey() + ", Code: " + entry.getValue());
}
}
public static void huffmanCodierun (String text)
{
Map<Character, Integer> zahlen = Zählen.countEachLetter(text);
Node wurzel = Node.erstellen(zahlen);
System.out.println("Huffman-Codierung: " + Komprimierung.codierung(text,wurzel));
}
public static void decodierung (String text)
{
System.out.println("Kodierter Text: " + Komprimierung.codierungInklBaum(text)); //soviele Zeichen aufgrund von UTF-16
System.out.println("Decodierter Text: " + Komprimierung.decodierungInlkBaum(Komprimierung.codierungInklBaum(text)));
}
public static void dateinKomprimierung (String source, String target)
{
Komprimierung.compressFile(source,target);
}
public static void dateinLesen (String file)
{
Komprimierung.readFile(file);
}
}