Commandline Interface hinzugefügt
Main Methode angepasst
This commit is contained in:
124
.idea/workspace.xml
generated
124
.idea/workspace.xml
generated
@@ -2,11 +2,10 @@
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e8709267-1337-4638-85fd-ec9407fa5fdd" name="Default" comment="">
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/com/structix/CommandLineInterface.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/production/Textanalyse/com/structix/Main.class" afterPath="$PROJECT_DIR$/out/production/Textanalyse/com/structix/Main.class" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/structix/Analyse.java" afterPath="$PROJECT_DIR$/src/com/structix/Analyse.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/structix/Main.java" afterPath="$PROJECT_DIR$/src/com/structix/Main.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/structix/Menu.java" afterPath="$PROJECT_DIR$/src/com/structix/Menu.java" />
|
||||
</list>
|
||||
<ignored path="Textanalyse.iws" />
|
||||
<ignored path=".idea/workspace.xml" />
|
||||
@@ -32,13 +31,26 @@
|
||||
<file leaf-file-name="Main.java" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Main.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="504">
|
||||
<caret line="28" column="30" selection-start-line="28" selection-start-column="30" selection-end-line="28" selection-end-column="30" />
|
||||
<state relative-caret-position="143">
|
||||
<caret line="29" column="30" selection-start-line="29" selection-start-column="30" selection-end-line="29" selection-end-column="30" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="CommandLineInterface.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/CommandLineInterface.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="216">
|
||||
<caret line="12" column="172" selection-start-line="12" selection-start-column="172" selection-end-line="12" selection-end-column="172" />
|
||||
<folding>
|
||||
<element signature="e#3891#3892#0" expanded="true" />
|
||||
<element signature="e#3945#3946#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Beispieltext.txt" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/Beispieltext.txt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@@ -52,8 +64,8 @@
|
||||
<file leaf-file-name="Analyse.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Analyse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="3582">
|
||||
<caret line="207" column="41" selection-start-line="207" selection-start-column="41" selection-end-line="207" selection-end-column="41" />
|
||||
<state relative-caret-position="1294">
|
||||
<caret line="81" column="52" selection-start-line="81" selection-start-column="52" selection-end-line="81" selection-end-column="52" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -82,8 +94,8 @@
|
||||
<file leaf-file-name="Menu.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Menu.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="144">
|
||||
<caret line="8" column="15" selection-start-line="8" selection-start-column="15" selection-end-line="8" selection-end-column="15" />
|
||||
<state relative-caret-position="36">
|
||||
<caret line="31" column="49" selection-start-line="31" selection-start-column="49" selection-end-line="31" selection-end-column="49" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -113,6 +125,7 @@
|
||||
<option value="$PROJECT_DIR$/Test.txt" />
|
||||
<option value="$PROJECT_DIR$/src/com/structix/Menu.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/structix/Analyse.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/structix/CommandLineInterface.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/structix/Main.java" />
|
||||
</list>
|
||||
</option>
|
||||
@@ -152,9 +165,6 @@
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="Scratches" />
|
||||
<pane id="Scope" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
@@ -193,6 +203,9 @@
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="Scope" />
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="Scratches" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
@@ -206,10 +219,10 @@
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
|
||||
<option name="MAIN_CLASS_NAME" value="com.structix.Main" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="Test.txt -b -v -w -ha" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="ENABLE_SWING_INSPECTOR" value="false" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
@@ -631,11 +644,13 @@
|
||||
<workItem from="1463492544438" duration="867000" />
|
||||
<workItem from="1463653975356" duration="937000" />
|
||||
<workItem from="1463735643744" duration="4784000" />
|
||||
<workItem from="1464077414443" duration="837000" />
|
||||
<workItem from="1464104232545" duration="6138000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="33184000" />
|
||||
<option name="totallyTimeSpent" value="40159000" />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="0" y="0" width="2560" height="1398" extended-state="6" />
|
||||
@@ -690,6 +705,46 @@
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/Beispieltext.txt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="54">
|
||||
<caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Analyse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="3582">
|
||||
<caret line="207" column="41" selection-start-line="207" selection-start-column="41" selection-end-line="207" selection-end-column="41" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Menubuilder.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2088">
|
||||
<caret line="120" column="0" selection-start-line="120" selection-start-column="0" selection-end-line="120" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Test.txt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="36">
|
||||
<caret line="2" column="3" selection-start-line="2" selection-start-column="3" selection-end-line="2" selection-end-column="3" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Menu.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="144">
|
||||
<caret line="8" column="15" selection-start-line="8" selection-start-column="15" selection-end-line="8" selection-end-column="15" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Main.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
@@ -1010,14 +1065,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Menubuilder.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2088">
|
||||
<caret line="120" column="0" selection-start-line="120" selection-start-column="0" selection-end-line="120" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Test.txt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="36">
|
||||
@@ -1026,26 +1073,45 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Menu.java">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Menubuilder.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="144">
|
||||
<caret line="8" column="15" selection-start-line="8" selection-start-column="15" selection-end-line="8" selection-end-column="15" />
|
||||
<state relative-caret-position="2088">
|
||||
<caret line="120" column="0" selection-start-line="120" selection-start-column="0" selection-end-line="120" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Analyse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="3582">
|
||||
<caret line="207" column="41" selection-start-line="207" selection-start-column="41" selection-end-line="207" selection-end-column="41" />
|
||||
<state relative-caret-position="1294">
|
||||
<caret line="81" column="52" selection-start-line="81" selection-start-column="52" selection-end-line="81" selection-end-column="52" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Menu.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="36">
|
||||
<caret line="31" column="49" selection-start-line="31" selection-start-column="49" selection-end-line="31" selection-end-column="49" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/CommandLineInterface.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="216">
|
||||
<caret line="12" column="172" selection-start-line="12" selection-start-column="172" selection-end-line="12" selection-end-column="172" />
|
||||
<folding>
|
||||
<element signature="e#3891#3892#0" expanded="true" />
|
||||
<element signature="e#3945#3946#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/structix/Main.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="504">
|
||||
<caret line="28" column="30" selection-start-line="28" selection-start-column="30" selection-end-line="28" selection-end-column="30" />
|
||||
<state relative-caret-position="143">
|
||||
<caret line="29" column="30" selection-start-line="29" selection-start-column="30" selection-end-line="29" selection-end-column="30" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
Binary file not shown.
Binary file not shown.
145
src/com/structix/CommandLineInterface.java
Normal file
145
src/com/structix/CommandLineInterface.java
Normal file
@@ -0,0 +1,145 @@
|
||||
package com.structix;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* Created by structix on 24.05.16.
|
||||
*/
|
||||
public class CommandLineInterface {
|
||||
|
||||
private String cmds[];
|
||||
private String cmdseinzeln[];
|
||||
private String kommandos[] = {"-h", "-?", "--help", "--credits", "-w", "-v", "-b", "-ha"};
|
||||
private String hilfe[] = {"Hilfe", "Hilfe", "Hilfe", "Credits", "Anzahl der Wörter", "Anzahl der verwschiedenen Wörter", "Anzahl der Buchstaben", "Häufigkeit der Wörter"};
|
||||
String dateipfad = "";
|
||||
int dateipfadstelle = -1;
|
||||
|
||||
public CommandLineInterface(String args[]) {
|
||||
cmds = args;
|
||||
verschiedenCmds();
|
||||
}
|
||||
|
||||
public boolean argTest() {
|
||||
boolean rueckgabe = false;
|
||||
if (cmds.length > 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 <Dateipfad>\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];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@@ -27,11 +27,19 @@ 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) {
|
||||
CommandLineInterface cmd = new CommandLineInterface(args);
|
||||
|
||||
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
|
||||
@@ -45,5 +53,11 @@ public class Main {
|
||||
while (!m.hauptmenu()) ;
|
||||
//Nachricht vor dem Beenden des Programms
|
||||
System.out.println("Auf Wiedersehen!");
|
||||
} else {
|
||||
|
||||
//Commandline Part
|
||||
cmd.ausfuehren();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user