From 3fa9782c37fae4386132982422d3d8a7e17b7c6e Mon Sep 17 00:00:00 2001 From: structix Date: Mon, 16 May 2016 22:33:54 +0200 Subject: [PATCH] =?UTF-8?q?-=20Analyse:=20H=C3=A4ufigkeit=20wird=20nach=20?= =?UTF-8?q?gr=C3=B6=C3=9Fe=20sortiert=20-=20Menubuilder:=20Rahmen=20um=20d?= =?UTF-8?q?as=20Men=C3=BC=20-=20Menu:=20Rahmenzeichen=20angegeben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/vcs.xml | 6 + .idea/workspace.xml | 189 +++++++++++++----- .../Textanalyse/com/structix/Analyse.class | Bin 2708 -> 3162 bytes .../Textanalyse/com/structix/Main.class | Bin 563 -> 559 bytes .../Textanalyse/com/structix/Menu.class | Bin 1910 -> 2031 bytes .../com/structix/Menubuilder.class | Bin 1765 -> 2930 bytes src/com/structix/Analyse.java | 33 ++- src/com/structix/Main.java | 4 +- src/com/structix/Menu.java | 8 +- src/com/structix/Menubuilder.java | 70 ++++++- 10 files changed, 249 insertions(+), 61 deletions(-) create mode 100644 .idea/vcs.xml diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 814571d..ec43567 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,7 +1,17 @@ - + + + + + + + + + + + @@ -26,8 +36,18 @@ - - + + + + + + + + + + + + @@ -36,8 +56,8 @@ - - + + @@ -48,15 +68,9 @@ - - - - - - - - - + + + @@ -64,11 +78,11 @@ - - + + - - + + @@ -83,6 +97,9 @@ + + @@ -605,15 +622,17 @@ + + - - + @@ -664,6 +683,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -690,45 +783,47 @@ - + - - - - - - - - - - - - - - - - + + + - - + + + + + + + + + + + + + + + + + + + + + - - - - - - + + diff --git a/out/production/Textanalyse/com/structix/Analyse.class b/out/production/Textanalyse/com/structix/Analyse.class index 4b47a6feaaff1588427c4953e42f67a3f04d0e60..f0699935ad171b49ac363ecf47034e78e1cba097 100644 GIT binary patch literal 3162 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 LY-uKjmDb2VM>8#_ diff --git a/out/production/Textanalyse/com/structix/Main.class b/out/production/Textanalyse/com/structix/Main.class index 76b53add7a98427121ef8dda0d91189d66da6a5e..8e17c5427fa0ccb4d522c19596d6235d29ba76e8 100644 GIT binary patch delta 34 qcmdnYvYur_03#b~N@`MR`s64^4@RNMiy6aMB^bmQBq#r4Gz9>#5(#Gj delta 38 ucmZ3_vYBN=03#P?N@7WBW4z^ZKEW{wSU7O;EtWfZ(33bi#aoM&YAC=^L?}B`dyj*`S;s*0Eh9^2_J?O z468WhgasoGwBxjbGb+wHQC7U4bKpEKsJQ6FC5$S#EbmvGsK8Ze#uQvrF|Hz_VnW4r ziE~52O(#4UQgKV}h6J0Gr`t3Qm~yht9Tj(_|DH7W6+{(Gzct^N*=OR@nOQR=epvnJ zFtA)?m`X2YV(Gb+;BYdUSWU$R)QNa1-IZQRYuJwi3St^&5I1`) zBOMPk%wj;GdOo@w4QA4FiC`oaO(x?@8XjU!gCFx69wA|VwJbRV#F~Z$B+YJX$g_yY z8lHfei%4lmBcY)m1LiZUSItQGGM~M({t|xkxvj>0VO#gLlTnZY$bM-d8=|#Cuu=zY zz#O;xvYqrvssI%>o(}S)F$(B7gf8v^!D2qoVdlt~E3k<&Ls#-pzrgW{9t-{>RZ@M5+y*vkP6BWh=TzOQE7SKC$sM?LM^A%9bUhCkdjP0l|)Tt{> z;M=a_X7wKQvQvQ&zn7e~y3CWUHmtfHF>Ja!V%YVXh+dmR-C*NKLQ(=bDPZMl;Ogg^ zWFHDNpC9*o~9_?Dur94XfG+-E7JCwgGzB)3oX9c9@Rqs5gcXfHfHtV81arX zs~q+}2n*5DQX%N#XMq?)fRQ0y3v!cpQmpM3uNw-|;OYQf2W DrU;1U delta 871 zcmYL{TTc^V5Qd-KZQ1RzSlB{A3bb0~P*migA{GVlEO@G-6+B=C1UV>RB8f@km5DJV zX0N>U#>9{qiM9zuet?($1%H5d-f5h#CAi5q-(lXFcjle_75u#;`~C0wCeX!#%`SRP zj$53t(di2iqd&k&1}sk5oaT(lS#>{W6X3kb1+`zaaf;YMlOc;s7MCrqs0>$4uGv)4 zYmrj>bp^elPQ%LFw1uGZmPJ~<-&SVCWYpx&+jsB10d3Q0q{;K?t>uk$JM1QIa@XM= z_q_>ypk&P90o~pwJ=~Jvp+h6%8kL#(*|x={g=d+ispoC|b7M2hi{lOxOgijgulGY= z@H;$W${R8|Bhx%~m|@monmLDgg*rmFMtIn3H$qNN%;AZ0KV{NeH+~x7<`Hkrw;GR$ zR7i)Ys>Gs_i}j&N9Zh1Jy_f!Ywng5Q5@3nXCLt$Byx`KxKG`+)7x8k=2u5M!Ym~TV z4r_xzdJQ{I>0n|5C*7K(EYFUw1V0N*N2PZq2!cXTPKXLA$Su%>#h;a2TRb6gAD~V6 zG!D`(wpqvn_%S4W#Yh^xi7)s|zEPew+=^7%=enu1-wma5RQA?=6p(z=vQ+gdrcPE; z)~J+LmCh4(t8>&yl3>H6^i5x4Gm|fZGUKd9Pol?6`U|k%N zgog!IivJHuO^Zg$Gl| ITyZA<0k)BL@&Et; diff --git a/out/production/Textanalyse/com/structix/Menubuilder.class b/out/production/Textanalyse/com/structix/Menubuilder.class index 161c6ec47e0f1e0fdc66e46091e16d098b44c88e..0d8da6dc81b3ac8009ac3bd5945879aef8f3588d 100644 GIT binary patch literal 2930 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 diff --git a/src/com/structix/Analyse.java b/src/com/structix/Analyse.java index 0843a99..8623b8c 100644 --- a/src/com/structix/Analyse.java +++ b/src/com/structix/Analyse.java @@ -18,6 +18,10 @@ public class Analyse { public Analyse(String dateipfad) { inhalt = dateilesen(dateipfad); textAnpassen(); + + //Initialisierung der globalen Variablen + verschiedenWoerter(); + haeufigkeit(); } @@ -86,15 +90,34 @@ public class Analyse { } } } - String ausgabe = ""; - for (int i = 0; i < anzahl.length; i++) { - ausgabe += einzelneWoerter[i] + ": " + anzahl[i] + "\n"; - } - return ausgabe; + return sortieren(einzelneWoerter, anzahl); } public String textausgabe() { return inhalt; } + + private String sortieren(String woerter[], int anz[]) { + String tempstring; + int tempint; + for (int i = 1; i < woerter.length; i++) { + for (int z = 0; z < anz.length - i; z++) { + if (anz[z] < anz[z + 1]) { + tempint = anz[z]; + anz[z] = anz[z + 1]; + anz[z + 1] = tempint; + tempstring = woerter[z]; + woerter[z] = woerter[z + 1]; + woerter[z + 1] = tempstring; + } + } + } + String ausgabe = ""; + for (int i = 0; i < anz.length; i++) { + ausgabe += woerter[i] + ": " + anz[i] + "\n"; + } + return ausgabe; + } + } diff --git a/src/com/structix/Main.java b/src/com/structix/Main.java index 2a0f0d8..6058ee2 100644 --- a/src/com/structix/Main.java +++ b/src/com/structix/Main.java @@ -12,13 +12,15 @@ package com.structix; /* Bearbeitungszeit * 14.05.16: 13:04 - 14:08 Uhr * 15.05.16: 20:41 - 21:38 Uhr + * 16.05.16: 20:47 - 21:44 Uhr */ public class Main { public static void main(String[] args) { Menu m = new Menu(); - m.dateipfad(); + m.debug(); + //m.dateipfad(); while (!m.hauptmenu()); } } diff --git a/src/com/structix/Menu.java b/src/com/structix/Menu.java index 0dd0bb4..6784026 100644 --- a/src/com/structix/Menu.java +++ b/src/com/structix/Menu.java @@ -11,6 +11,12 @@ public class Menu { Analyse an; + public void debug() { + an = new Analyse("Test.txt"); + } + + + public void dateipfad() { System.out.println("Geben Sie einen Dateipfad an (relativ sowie absolut erlaubt): "); Scanner eingabe = new Scanner(System.in); @@ -20,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", "Häufigkeit der verschiedene Wörter"}, "|"); switch (auswahl) { case 1: ausgabe("Anzahl der Wörter: " + an.laenge()); diff --git a/src/com/structix/Menubuilder.java b/src/com/structix/Menubuilder.java index d132e8b..903eb8e 100644 --- a/src/com/structix/Menubuilder.java +++ b/src/com/structix/Menubuilder.java @@ -1,6 +1,5 @@ package com.structix; -import java.util.InputMismatchException; import java.util.Scanner; /** @@ -15,19 +14,59 @@ public class Menubuilder { ueberschrift = title; } - public int menuAnzeigen(String items[]) { - + public int menuAnzeigen(String items[], String randzeichen) { + int maxlaenge = maximalwert(items); + int spaces; + String spacesString; String ausgabe = ""; - ausgabe += ueberschrift + "\n"; + //---Trennstrich generieren--- + String trennstrich = randzeichen; + for (int i = 0; i < maxlaenge + 1; i++) { + trennstrich += "-"; + } + trennstrich += randzeichen; + ausgabe += trennstrich + "\n"; + //---Trennstrich generieren--- + + //---Überschrift--- + ausgabe += randzeichen + ueberschrift; + spaces = maxlaenge - ueberschrift.length(); + spacesString = ""; + for (int i = 0; i <= spaces; i++) { + spacesString += " "; + } + ausgabe += spacesString + randzeichen + "\n"; + //---Überschrift--- + + //---Menüeinträge--- int eing = 0; for (int i = 0; i < items.length; i++) { - ausgabe += items[i] + ": (" + (i + 1) + ")\n"; + spaces = (maxlaenge - 4 + (items.length / 10)) - items[i].length(); + spacesString = ""; + for (int z = 0; z < spaces; z++) { + spacesString += " "; + } + ausgabe += randzeichen + items[i] + ": (" + (i + 1) + ")" + spacesString + randzeichen + "\n"; } - ausgabe += "Exit (" + (items.length + 1) + ")\n"; + + //---Exit Eintrag--- + spaces = (maxlaenge - 4 + (items.length / 10)) - "Exit".length(); + spacesString = ""; + for (int z = 0; z <= spaces; z++) { + spacesString += " "; + } + ausgabe += randzeichen + "Exit (" + (items.length + 1) + ")" + spacesString + randzeichen + "\n"; + System.out.print(ausgabe); + //---Exit Eintrag--- + //---Menüeinträge--- + + //---Abfrage--- do { - System.out.print(ausgabe + "\nEingabe: "); + System.out.print(randzeichen + "Eingabe: "); eing = eingabeInt(); } while (eing <= 0 || eing > items.length + 1); + System.out.println(trennstrich); + //---Abfrage--- return eing; } @@ -46,5 +85,22 @@ public class Menubuilder { return input; } + private int maximalwert(String items[]) { + int itemlaenge[] = new int[items.length]; + for (int i = 0; i < items.length; i++) { + itemlaenge[i] = items[i].length(); + } + int tempint; + for (int i = 1; i < itemlaenge.length; i++) { + for (int z = 0; z < itemlaenge.length - i; z++) { + if (itemlaenge[z] < itemlaenge[z + 1]) { + tempint = itemlaenge[z]; + itemlaenge[z] = itemlaenge[z + 1]; + itemlaenge[z + 1] = tempint; + } + } + } + return itemlaenge[0] + 4 + (items.length / 10); + } }