From eb4030030076f534bedca3f64bc564af9c74bd30 Mon Sep 17 00:00:00 2001 From: thomasmuller Date: Tue, 20 May 2025 12:11:05 +0200 Subject: [PATCH] =?UTF-8?q?Letzte=20=C3=84nderrungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wordcloud/main/UserInterface.java | 90 +++++++++++++++++++ .../wordcloud/test/UserInterface.java | 90 +++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 de.hs-mannheim.informatik.wordcloud/src/main/java/de/hs_mannheim/informatik/wordcloud/main/UserInterface.java create mode 100644 de.hs-mannheim.informatik.wordcloud/src/test/java/de/hs_mannheim/informatik/wordcloud/test/UserInterface.java diff --git a/de.hs-mannheim.informatik.wordcloud/src/main/java/de/hs_mannheim/informatik/wordcloud/main/UserInterface.java b/de.hs-mannheim.informatik.wordcloud/src/main/java/de/hs_mannheim/informatik/wordcloud/main/UserInterface.java new file mode 100644 index 0000000..8c70b20 --- /dev/null +++ b/de.hs-mannheim.informatik.wordcloud/src/main/java/de/hs_mannheim/informatik/wordcloud/main/UserInterface.java @@ -0,0 +1,90 @@ +package de.hs_mannheim.informatik.wordcloud.main; + + +import java.util.Scanner; + +import de.hs_mannheim.informatik.wordcloud.main.Filereading.Language; + +import java.io.IOException; +import java.io.FileReader; +import java.io.File; +import java.util.ArrayList; +import java.util.Map; + + + +public class UserInterface{ + + public UserInterface() { + + System.out.println("Wilkomen zum Wordcloud generator"); + + System.out.println("Bitte geben sie die adresse der PDF datei ein"); + Scanner scanner = new Scanner(System.in); + String filepath = scanner.nextLine(); + System.out.println("Nun geben sie ein wieviele Worte sie angezeigt haben wollen"); + int anzahlWoerter = scanner.nextInt(); + scanner.nextLine(); + System.out.println("Handelt es sich um einen Deutschen oder Englische Text? Geben sie das bitte an."); + String analyzer = scanner.nextLine().toLowerCase(); + + + Language language; + if(analyzer.equals("de")) { + language = Language.GERMAN; + }else { + language = Language.ENGLISH; + } + + System.out.println("Gibt es Wörter die sie nicht ausgeben möchten?"); + + String nonoWord = scanner.nextLine(); + ArrayList nonoWords = new ArrayList<>(); + + + while(!nonoWord.contains("quit")) { + nonoWords.add(nonoWord); + nonoWord = scanner.nextLine(); + }; + + + System.out.println("Möchten sie eine Minimale frequenz für ihre Wordcloud anzeigen? " + + "Geben sie bitte ein wie häufig ein wort midestens vorkommen mus."); + int freq = scanner.nextInt(); + scanner.nextLine(); + + System.out.println("Über welche suchmaschine möchten sie die Linke suche? \nGoogle (Standard)\nBing (b)\nDuckDuckGo (d)"); + String search = scanner.nextLine(); + if(search.equals("b")) { + search = "bing"; + }else if(search.equals("d")){ + search = "duckduckgo"; + }else { + search = "google"; + } + + Filereading fr = new Filereading(filepath,language); + + Map topWords = fr.getTopNWords(anzahlWoerter); + + new InsertWordcloudElements(topWords, nonoWords, freq, search); + + + scanner.close(); + + + String wordcloud = "file:///Users/thomasmuller/eclipse-workspace/de.hs-mannheim.informatik.wordcloud/site/wordcloud.html"; + try { + Runtime.getRuntime().exec("open "+wordcloud); + } catch (IOException e) { + e.printStackTrace(); + }; + + + } + + + + +} + diff --git a/de.hs-mannheim.informatik.wordcloud/src/test/java/de/hs_mannheim/informatik/wordcloud/test/UserInterface.java b/de.hs-mannheim.informatik.wordcloud/src/test/java/de/hs_mannheim/informatik/wordcloud/test/UserInterface.java new file mode 100644 index 0000000..a8b3cb9 --- /dev/null +++ b/de.hs-mannheim.informatik.wordcloud/src/test/java/de/hs_mannheim/informatik/wordcloud/test/UserInterface.java @@ -0,0 +1,90 @@ +package de.hs_mannheim.informatik.wordcloud.test; + + +import java.util.Scanner; + +import de.hs_mannheim.informatik.wordcloud.test.Filereading.Language; + +import java.io.IOException; +import java.io.FileReader; +import java.io.File; +import java.util.ArrayList; +import java.util.Map; + + + +public class UserInterface{ + + public UserInterface() { + + System.out.println("Wilkomen zum Wordcloud generator"); + + System.out.println("Bitte geben sie die adresse der PDF datei ein"); + Scanner scanner = new Scanner(System.in); + String filepath = scanner.nextLine(); + System.out.println("Nun geben sie ein wieviele Worte sie angezeigt haben wollen"); + int anzahlWoerter = scanner.nextInt(); + scanner.nextLine(); + System.out.println("Handelt es sich um einen Deutschen oder Englische Text? Geben sie das bitte an."); + String analyzer = scanner.nextLine().toLowerCase(); + + + Language language; + if(analyzer.equals("de")) { + language = Language.GERMAN; + }else { + language = Language.ENGLISH; + } + + System.out.println("Gibt es Wörter die sie nicht ausgeben möchten?"); + + String nonoWord = scanner.nextLine(); + ArrayList nonoWords = new ArrayList<>(); + + + while(!nonoWord.contains("quit")) { + nonoWords.add(nonoWord); + nonoWord = scanner.nextLine(); + }; + + + System.out.println("Möchten sie eine Minimale frequenz für ihre Wordcloud anzeigen? " + + "Geben sie bitte ein wie häufig ein wort midestens vorkommen mus."); + int freq = scanner.nextInt(); + scanner.nextLine(); + + System.out.println("Über welche suchmaschine möchten sie die Linke suche? \nGoogle (Standard)\nBing (b)\nDuckDuckGo (d)"); + String search = scanner.nextLine(); + if(search.equals("b")) { + search = "bing"; + }else if(search.equals("d")){ + search = "duckduckgo"; + }else { + search = "google"; + } + + Filereading fr = new Filereading(filepath,language); + + Map topWords = fr.getTopNWords(anzahlWoerter); + + new InsertWordcloudElements(topWords, nonoWords, freq, search); + + + scanner.close(); + + + String wordcloud = "file:///Users/thomasmuller/eclipse-workspace/de.hs-mannheim.informatik.wordcloud/site/wordcloud.html"; + try { + Runtime.getRuntime().exec("open "+wordcloud); + } catch (IOException e) { + e.printStackTrace(); + }; + + + } + + + + +} +