diff --git a/.idea/workspace.xml b/.idea/workspace.xml index ec43567..105f010 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,9 +2,9 @@ - + @@ -36,8 +36,8 @@ - - + + @@ -56,10 +56,11 @@ - - + + - + + @@ -68,8 +69,18 @@ - - + + + + + + + + + + + + @@ -78,12 +89,9 @@ - - - - - - + + + @@ -111,6 +119,7 @@ @@ -150,6 +159,7 @@ + @@ -190,7 +200,6 @@ - @@ -624,11 +633,13 @@ + + - @@ -683,6 +694,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -696,7 +793,8 @@ - + + @@ -713,10 +811,7 @@ - - - - + @@ -733,7 +828,8 @@ - + + @@ -750,10 +846,7 @@ - - - - + @@ -778,7 +871,8 @@ - + + @@ -793,37 +887,43 @@ - - + + - - - - - - - - - - - - - + + - + + + + + + + + + + + + + + + + + + - - + + diff --git a/out/production/Textanalyse/com/structix/Analyse.class b/out/production/Textanalyse/com/structix/Analyse.class index f069993..d7c8970 100644 Binary files a/out/production/Textanalyse/com/structix/Analyse.class and b/out/production/Textanalyse/com/structix/Analyse.class differ diff --git a/out/production/Textanalyse/com/structix/Main.class b/out/production/Textanalyse/com/structix/Main.class index 8e17c54..29b2dd6 100644 Binary files a/out/production/Textanalyse/com/structix/Main.class and b/out/production/Textanalyse/com/structix/Main.class differ diff --git a/out/production/Textanalyse/com/structix/Menu.class b/out/production/Textanalyse/com/structix/Menu.class index d1e3df2..14c54e0 100644 Binary files a/out/production/Textanalyse/com/structix/Menu.class and b/out/production/Textanalyse/com/structix/Menu.class differ diff --git a/out/production/Textanalyse/com/structix/Menubuilder.class b/out/production/Textanalyse/com/structix/Menubuilder.class index 0d8da6d..1e0ce45 100644 Binary files a/out/production/Textanalyse/com/structix/Menubuilder.class and b/out/production/Textanalyse/com/structix/Menubuilder.class differ diff --git a/src/com/structix/Analyse.java b/src/com/structix/Analyse.java index 8623b8c..625fd4b 100644 --- a/src/com/structix/Analyse.java +++ b/src/com/structix/Analyse.java @@ -115,9 +115,30 @@ public class Analyse { } String ausgabe = ""; for (int i = 0; i < anz.length; i++) { - ausgabe += woerter[i] + ": " + anz[i] + "\n"; + ausgabe += woerter[i] + ": " + anz[i] + " (" + prozentsatz(anz[i], laenge()) + "%)" + "\n"; } return ausgabe; } + public int anzBuchstabenMLeerzeichen() { + //Mit Leerzeichen + return inhalt.length(); + } + + public int anzBuchstabenOLeerzeichen() { + //Ohne Leerzeichen + String temp = inhalt.replace(" ", ""); + return temp.length(); + } + + private double prozentsatz(int prozentwert, int grundwert) { + return (double) prozentwert / grundwert * 100; + } + + public int stats_leerzeichen() { + return (int) prozentsatz(anzBuchstabenMLeerzeichen() - anzBuchstabenOLeerzeichen(), anzBuchstabenMLeerzeichen()); + } + + + } diff --git a/src/com/structix/Main.java b/src/com/structix/Main.java index 6058ee2..f3da9e0 100644 --- a/src/com/structix/Main.java +++ b/src/com/structix/Main.java @@ -13,6 +13,7 @@ package com.structix; * 14.05.16: 13:04 - 14:08 Uhr * 15.05.16: 20:41 - 21:38 Uhr * 16.05.16: 20:47 - 21:44 Uhr + * 17.05.16: 11:59 - 12:37 Uhr */ public class Main { @@ -22,5 +23,6 @@ public class Main { m.debug(); //m.dateipfad(); while (!m.hauptmenu()); + System.out.println("Auf Wiedersehen!"); } } diff --git a/src/com/structix/Menu.java b/src/com/structix/Menu.java index 6784026..9772a96 100644 --- a/src/com/structix/Menu.java +++ b/src/com/structix/Menu.java @@ -9,7 +9,7 @@ public class Menu { Menubuilder mbuilder = new Menubuilder("Textanalyse"); Analyse an; - + Menubuilder statsmenu = new Menubuilder("Statistiken"); public void debug() { an = new Analyse("Test.txt"); @@ -26,7 +26,7 @@ public class Menu { public boolean hauptmenu() { boolean exit = false; int auswahl = 0; - auswahl = mbuilder.menuAnzeigen(new String[]{"Anzahl der Wörter", "Anzahl der verschiedenen Wörter", "Häufigkeit der verschiedene Wörter"}, "|"); + auswahl = mbuilder.menuAnzeigen(new String[]{"Anzahl der Wörter", "Anzahl der verschiedenen Wörter", "Anzahl der Buchstaben", "Statistik Menü"}, "||"); switch (auswahl) { case 1: ausgabe("Anzahl der Wörter: " + an.laenge()); @@ -35,6 +35,28 @@ public class Menu { ausgabe("Verschiedene Wörter: " + an.verschiedenWoerter()); break; case 3: + ausgabe("Buchstaben (inklusive Leerzeichen): " + an.anzBuchstabenMLeerzeichen()); + ausgabe("Buchstaben (ohne Leerzeichen): " + an.anzBuchstabenOLeerzeichen()); + break; + case 4: + while (!statistikmenu()); + break; + default: + exit = true; + break; + } + return exit; + } + + public boolean statistikmenu() { + boolean exit = false; + int auswahl = 0; + auswahl = statsmenu.menuAnzeigen(new String[]{"Enthaltene Leerzeichen", "Häufigkeit der verschiedenen Wörter"}, "||"); + switch (auswahl) { + case 1: + ausgabe("Prozentsatz der enthaltenen Leerzeichen: " + an.stats_leerzeichen() + "%"); + break; + case 2: ausgabe(an.haeufigkeit()); break; default: diff --git a/src/com/structix/Menubuilder.java b/src/com/structix/Menubuilder.java index 903eb8e..e5fabf7 100644 --- a/src/com/structix/Menubuilder.java +++ b/src/com/structix/Menubuilder.java @@ -21,7 +21,7 @@ public class Menubuilder { String ausgabe = ""; //---Trennstrich generieren--- String trennstrich = randzeichen; - for (int i = 0; i < maxlaenge + 1; i++) { + for (int i = 0; i < maxlaenge; i++) { trennstrich += "-"; } trennstrich += randzeichen; @@ -32,7 +32,7 @@ public class Menubuilder { ausgabe += randzeichen + ueberschrift; spaces = maxlaenge - ueberschrift.length(); spacesString = ""; - for (int i = 0; i <= spaces; i++) { + for (int i = 0; i <= spaces - 1; i++) { spacesString += " "; } ausgabe += spacesString + randzeichen + "\n"; @@ -41,7 +41,12 @@ public class Menubuilder { //---Menüeinträge--- int eing = 0; for (int i = 0; i < items.length; i++) { - spaces = (maxlaenge - 4 + (items.length / 10)) - items[i].length(); + int l = 0, itlaenge = items.length; + while (itlaenge > 0) { + l++; + itlaenge /= 10; + } + spaces = (maxlaenge - 4 - l) - items[i].length(); spacesString = ""; for (int z = 0; z < spaces; z++) { spacesString += " "; @@ -50,7 +55,12 @@ public class Menubuilder { } //---Exit Eintrag--- - spaces = (maxlaenge - 4 + (items.length / 10)) - "Exit".length(); + int l = 0, itlaenge = items.length + 1; + while (itlaenge > 0) { + l++; + itlaenge /= 10; + } + spaces = (maxlaenge - 4 - l) - "Exit".length(); spacesString = ""; for (int z = 0; z <= spaces; z++) { spacesString += " "; @@ -100,7 +110,13 @@ public class Menubuilder { } } } - return itemlaenge[0] + 4 + (items.length / 10); + int l = 0, itlaenge = items.length; + while (itlaenge > 0) { + l++; + itlaenge /= 10; + } + //return itemlaenge[0] + 4 + (items.length / 10); + return itemlaenge[0] + 4 + l; } }