From 8a5e05083d21546209eee07fff6e42eafa5a52fc Mon Sep 17 00:00:00 2001 From: structix Date: Tue, 24 May 2016 19:20:26 +0200 Subject: [PATCH] =?UTF-8?q?Commandline=20Interface=20hinzugef=C3=BCgt=20Ma?= =?UTF-8?q?in=20Methode=20angepasst?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/workspace.xml | 124 +++++++++++---- .../com/structix/CommandLineInterface.class | Bin 0 -> 4316 bytes .../Textanalyse/com/structix/Main.class | Bin 724 -> 919 bytes src/com/structix/CommandLineInterface.java | 145 ++++++++++++++++++ src/com/structix/Main.java | 38 +++-- 5 files changed, 266 insertions(+), 41 deletions(-) create mode 100644 out/production/Textanalyse/com/structix/CommandLineInterface.class create mode 100644 src/com/structix/CommandLineInterface.java diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 1428c26..0856bb1 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,11 +2,10 @@ + - - @@ -32,13 +31,26 @@ - - + + + + + + + + + + + + + + + @@ -52,8 +64,8 @@ - - + + @@ -82,8 +94,8 @@ - - + + @@ -113,6 +125,7 @@ @@ -152,9 +165,6 @@ - - - @@ -193,6 +203,9 @@ + + + @@ -206,10 +219,10 @@ - @@ -690,6 +705,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1010,14 +1065,6 @@ - - - - - - - - @@ -1026,26 +1073,45 @@ - + - - + + - - + + + + + + + + + + + + + + + + + + + + + - - + + diff --git a/out/production/Textanalyse/com/structix/CommandLineInterface.class b/out/production/Textanalyse/com/structix/CommandLineInterface.class new file mode 100644 index 0000000000000000000000000000000000000000..bf297230816b75bf2579bef9d73864b458a1bec7 GIT binary patch literal 4316 zcmZ`*ZE#f88Gg?0-Mu%P3xtIYi4a*pZAe^#h*3fahA0r40J;%eD7816%kG8UyJ7ck z0`aS81gUMUwblk&tyCMo+A1}{ieMF6Kl)++^jD`d?Ko4X9s8%9>9mYOpL6df+1NCh zJ@0wXdEfWEU*|dZ{fn=i1F#yu3!xncROB@jG&mZH8U{2BYB;FjkcOcO+=x3h+@;}e z4fklcSHqVz9G1)XX}Dj~VL3b?ha({lN9F9n5PUeM;VY6pB!{nR_?o0&mog8_**7Zi z2)?P|(Gb3c$5eb<@{fmb1->JP5f#TnsK*H@`(3H^Jvls~;>i$VIH2MCl0GG6PRiL2 zk2L&P!%sB4q~c{2rv#K_wyz*CZ+F)|W58(2 z7ln%wCggeTHLN{dv9)x%x6q>5;rS~~blQ%Y-)kgIMx_|}6opli9<$&G`0JPNVkr5d zncSZ;dZmx#XT=>Oxxd@!FP%}DDw-L`O6@l->WCp~4CL}@Cd6cNge9Q6u?`t#I%DR! zU9?Lo0wJSV*jqHyc`3{D7@^9x_4LTvZ6kB2 zV6J8NvQ-4;*Ds$b`4w)Jdd!1#SWV{5KFeX?a|Xyz$KL2!auUFD?t2#DH51?ZcHtXob79AVVp<^HJ&~cNT{S>dT=rJ8* z7}s$cuL{)cHey5Vv0W=;YxXp*C^38Py!LJ#Kf`M}Zby%fGw4zAx{k9rC(yRZq#x0^ zWk%TyoZU2Wo1%sttnQ*@$cK4TPno#ic26>sSHIo=eQ>*l?@ zfpolu^Rg;$>-YsyY>{bKqtrlB;7uLB#H%volnzUZF8FK}Hx#W5lTIULi7Zv1C92~c zysP6qY2+Qeuj5zJ$kH;=vWA-~i&Xrz%v)2L+&L-(e`|*m^BFvgpLiSU37+cWm}^1!WiBS zi?&Xdq%FkujK-oYJ7;y>#X=!!=aT7Y%4E;wEw_||W}dfd1>163x@WpK({9VQ-hF10 zx3r>A>?M8?86-A#cFuUMgXV#vk>O2_)R*0Q&%{~@Wx z5QHUsP7D!NqR5RgMKJWHy~ zmMU{xl`2*$};dx`2-{2cVq@i&P)jWB@%XGnqtsIv^<2V-zA@zF9B96{RKjxr_ zForM>_h3G@QKH&&8{2UUIR=1R87^-e;^-*_w~JH;H{0LZ@CvHWJ%NDIy6{D=_}#O@ zJOx-lnHq#p%M%xt*`8gp?c@4w*g;!6DIJ9P1iG|KkoL|IyJ#=Sy%YXc|2lu$LLOFg z?j#d7;ux;MLzI35YuseD z(aIWEXA66&nYMP(hD_{<$pnsIH+zrYQ+OO-;LJyz$FPTTemAMLsJMur5aLs;5@PWM z1TLUrNkF|(*7J*W#cfvKM_!)ACAQ4s5%CX(J-@4Q9MKUhJcT9UrQ=w323I6b;mXsv zs{873e6H&Z>JyEpvAo;gRwvVR?xZ*^Cy^(`bCR!H)uQ;C1GOwr!wYo!UH-I(Kfde& z=^-F+iZns`d(!7f|3KPF`d88s(!Y@&1IGSB`r5Xl@@G=3Rtfvv+8tzVN0BE_`>cIh zk$f-tfXm+=ko>LWgD$^0DESTKRhPd(mHaC5n#Y>kI>6=1XhbTkmS7~?1)RH{+FkHM0=F;adH!yjHR5A;Btpvn0G_W<47p2P-zD078xkuZo45=I9ZQ1v;!L|y(i z!ec~n`IA^raFxy7$oOR*sw2v(#tD=RDC=C1{BY56R5i*QF1O=so?(UIpKYk4!7kgM6=!Vt^ni->J=P&N@PEg0L5$l@=Esea!ntH^&OYUr?IKGrjk$ z0ygU+-?K_&_`ii!k$G=}c8RLYd{(81U|J;~^mqa&7itNgRhM{}G9d+gf)FcJO?x?7 H@uB~}A2sT> literal 0 HcmV?d00001 diff --git a/out/production/Textanalyse/com/structix/Main.class b/out/production/Textanalyse/com/structix/Main.class index 501f1261bcbdadb72aa73301d5915934156fb87b..ca89f90f3b14a72a6b9376c21fdad0f1c31cc868 100644 GIT binary patch literal 919 zcmZuwZBNrs7(I7yWwpovc~Ma}2RL4&B7!e~i6JpD+0C)%+K6}n{&V5e%?bnyD0PbPa#6^@1Oq)nyMu%Agw@hSF z)}f-qTpsgS7{H>5+gQ>ywt+hamIZPfuJ1;V1=5wd9f8bN&{P6LRo7R~W3QpYZQ1BB zGg1v4+1ZhytM`ACnW*h{1xBk*;Mv_MjGf4RZ`Y*jud|iMRbagGrn)cRNxLKcmR*lR z*Ke(BD&hT)RDP_HGHmI#=K!hG@tOkVe#))D^Q7O@s-O9h3iqU=*l4gGN#|`%9wd4> zBTh!ZtOs%EsHd(zS6-`K(gH0Ep&(G|JIi^Eb>W1CyI2tz?yIg*zeP_97FMxhV9mmP zJP;^6iT8@HT-8)zSGAR2GVsvCBdlB4(47BtN#<5K8`_J;zH%Y~gLBzdT|UvQ*8G}uwT-Gh(;*saYmyFpg&Ej16|aie`A&N z?K5TE-HTN_R6a@=z&OmE%~f#C&L2a3O8y>U%q7VpM)_==7T^-bxXWW4 z6U=DvN2K`!)=rSxWrK8ep@+;NrcaRFJw~p!*n`1);1Ic^-`_tYKVtT9;RpunEX|gN zW}9VKpv*W!VGEe#H!ww$X0e7P`m;)aKP V`H3k5Hw+Z>KVYVrFEO9O%|A)s${7Fv delta 403 zcmXAjJ5K^p5QV?H2+QL702S~FC?XGWDQGNBjFncJ80`>NB?=N?6AKf61EDbS4_IRX zi6$17+FJTYOpH2 0) { + rueckgabe = true; + } + return rueckgabe; + } + + private boolean gueltigkeit() { + int i = 0, dateizaehler = 0; + boolean ungueltig = false, vorhanden; + while (i < cmdseinzeln.length && !ungueltig) { + if (cmdseinzeln[i].substring(0, 1).equals("-") && cmdseinzeln[i].length() > 1) { + vorhanden = false; + for (int z = 0; z < kommandos.length; z++) { + if (cmdseinzeln[i].equals(kommandos[z])) { + vorhanden = true; + } + } + if (!vorhanden) { + ungueltig = true; + } + } else { + if (cmdseinzeln[i].matches("[a-zA-Z0-9]+.[a-zA-Z]{3}")) { + dateipfad = cmdseinzeln[i]; + dateizaehler++; + if (dateizaehler > 1) { + ungueltig = true; + } + } + } + + i++; + } + + return !ungueltig; + } + + public void ausfuehren() { + if (gueltigkeit()) { + + String datei = dateipfad; + if (datei.isEmpty()) { + System.out.println("Geben Sie einen Dateipfad an (relativ sowie absolut erlaubt): "); + Scanner eingabe = new Scanner(System.in); + datei = eingabe.nextLine(); + } + Analyse an = new Analyse(datei); + + for (int i = 0; i < cmdseinzeln.length; i++) { + if (i != dateipfadstelle) { + switch (cmdseinzeln[i]) { + case "-h": + case "-?": + case "--help": + System.out.println(hilfe()); + break; + case "--credits": + System.out.println(credits()); + break; + case "-w": + System.out.println("Anzahl der Wörter: " + an.laenge()); + break; + case "-v": + System.out.println("Anzahl der verschiedenen Wörter: " + an.verschiedenWoerter()); + break; + case "-b": + System.out.println("Anzahl der Buchstaben (inklusive Leerzeichen): " + an.anzBuchstabenMLeerzeichen()); + System.out.println("Anzahl der Buchstaben (ohne Leerzeichen): " + an.anzBuchstabenOLeerzeichen()); + break; + case "-ha": + System.out.println(an.haeufigkeit()); + break; + } + } + } + } else { + System.out.println("Ungültige Argumente"); + } + } + + + private String hilfe() { + String hilfeText = "Benutzung: Textanalyse \n"; + for (int i = 0; i < kommandos.length; i++) { + hilfeText += kommandos[i] + " - " + hilfe[i] + "\n"; + } + return hilfeText; + } + + private String credits() { + return "Muss noch geschrieben werden."; + } + + + + private void verschiedenCmds() { + String tempCmds[] = new String[cmds.length]; + boolean vorhanden; + int tbelegt = 0; + for (int i = 0; i < cmds.length; i++) { + vorhanden = false; + for (int z = 0; z < tempCmds.length; z++) { + if (cmds[i].equals(tempCmds[z])) { + vorhanden = true; + } + } + if (!vorhanden) { + tempCmds[tbelegt] = cmds[i]; + tbelegt++; + } + } + cmdseinzeln = new String[tbelegt]; + for (int i = 0; i < tbelegt; i++) { + cmdseinzeln[i] = tempCmds[i]; + + } + } + + + + + +} diff --git a/src/com/structix/Main.java b/src/com/structix/Main.java index df33d8e..2af51cc 100644 --- a/src/com/structix/Main.java +++ b/src/com/structix/Main.java @@ -27,23 +27,37 @@ package com.structix; * 16.05.16: 20:47 - 21:44 Uhr * 17.05.16: 11:59 - 12:37 Uhr * 20.05.16: 11:18 - 12:32 Uhr + * 24:05.16: 17:46 - 19:17 Uhr */ public class Main { public static void main(String[] args) { - //Menü Objekt wird erzeugt - Menu m = new Menu(); - //Auskommentieren, um einen Dateipfad einzugeben - m.debug(); - //m.dateipfad(); + CommandLineInterface cmd = new CommandLineInterface(args); - //Solange kein exit Befehl kommt, wird das Menü angezeigt. - //Es ist kein Schleifenkörper notwendig, da die Methode Hauptmenu - //schon einen Boolean Wert zurückgibt und damit bestimmt, ob die Bedingung wahr - //bleibt oder nicht - while (!m.hauptmenu()); - //Nachricht vor dem Beenden des Programms - System.out.println("Auf Wiedersehen!"); + if (!cmd.argTest()) { + + + //Menüteil wird ausgeführt, wenn keine Argumente übergeben werden + + //Menü Objekt wird erzeugt + Menu m = new Menu(); + //Auskommentieren, um einen Dateipfad einzugeben + m.debug(); + //m.dateipfad(); + + //Solange kein exit Befehl kommt, wird das Menü angezeigt. + //Es ist kein Schleifenkörper notwendig, da die Methode Hauptmenu + //schon einen Boolean Wert zurückgibt und damit bestimmt, ob die Bedingung wahr + //bleibt oder nicht + while (!m.hauptmenu()) ; + //Nachricht vor dem Beenden des Programms + System.out.println("Auf Wiedersehen!"); + } else { + + //Commandline Part + cmd.ausfuehren(); + + } } }