Main, Menu, Analyse Klassen kommentiert

This commit is contained in:
2016-05-20 12:34:27 +02:00
parent 672a1309bd
commit fc6cd439e2
7 changed files with 310 additions and 74 deletions

242
.idea/workspace.xml generated
View File

@@ -2,15 +2,11 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e8709267-1337-4638-85fd-ec9407fa5fdd" name="Default" comment=""> <list default="true" id="e8709267-1337-4638-85fd-ec9407fa5fdd" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/production/Textanalyse/com/structix/Analyse.class" afterPath="$PROJECT_DIR$/out/production/Textanalyse/com/structix/Analyse.class" />
<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$/out/production/Textanalyse/com/structix/Main.class" afterPath="$PROJECT_DIR$/out/production/Textanalyse/com/structix/Main.class" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/production/Textanalyse/com/structix/Menu.class" afterPath="$PROJECT_DIR$/out/production/Textanalyse/com/structix/Menu.class" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/production/Textanalyse/com/structix/Menubuilder.class" afterPath="$PROJECT_DIR$/out/production/Textanalyse/com/structix/Menubuilder.class" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> <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/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/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" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/structix/Menu.java" afterPath="$PROJECT_DIR$/src/com/structix/Menu.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/structix/Menubuilder.java" afterPath="$PROJECT_DIR$/src/com/structix/Menubuilder.java" />
</list> </list>
<ignored path="Textanalyse.iws" /> <ignored path="Textanalyse.iws" />
<ignored path=".idea/workspace.xml" /> <ignored path=".idea/workspace.xml" />
@@ -36,8 +32,8 @@
<file leaf-file-name="Main.java" pinned="false" current-in-tab="true"> <file leaf-file-name="Main.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/com/structix/Main.java"> <entry file="file://$PROJECT_DIR$/src/com/structix/Main.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270"> <state relative-caret-position="504">
<caret line="15" column="30" selection-start-line="15" selection-start-column="30" selection-end-line="15" selection-end-column="30" /> <caret line="28" column="30" selection-start-line="28" selection-start-column="30" selection-end-line="28" selection-end-column="30" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@@ -56,12 +52,9 @@
<file leaf-file-name="Analyse.java" pinned="false" current-in-tab="false"> <file leaf-file-name="Analyse.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/structix/Analyse.java"> <entry file="file://$PROJECT_DIR$/src/com/structix/Analyse.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="240"> <state relative-caret-position="3582">
<caret line="117" column="59" selection-start-line="117" selection-start-column="59" selection-end-line="117" selection-end-column="59" /> <caret line="207" column="41" selection-start-line="207" selection-start-column="41" selection-end-line="207" selection-end-column="41" />
<folding> <folding />
<element signature="e#3609#3610#0" expanded="true" />
<element signature="e#3670#3671#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -89,8 +82,8 @@
<file leaf-file-name="Menu.java" pinned="false" current-in-tab="false"> <file leaf-file-name="Menu.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/structix/Menu.java"> <entry file="file://$PROJECT_DIR$/src/com/structix/Menu.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1134"> <state relative-caret-position="144">
<caret line="65" column="20" selection-start-line="65" selection-start-column="20" selection-end-line="65" selection-end-column="20" /> <caret line="8" column="15" selection-start-line="8" selection-start-column="15" selection-end-line="8" selection-end-column="15" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@@ -116,10 +109,10 @@
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
<list> <list>
<option value="$PROJECT_DIR$/src/com/structix/Analyse.java" />
<option value="$PROJECT_DIR$/src/com/structix/Menubuilder.java" /> <option value="$PROJECT_DIR$/src/com/structix/Menubuilder.java" />
<option value="$PROJECT_DIR$/src/com/structix/Menu.java" />
<option value="$PROJECT_DIR$/Test.txt" /> <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/Main.java" /> <option value="$PROJECT_DIR$/src/com/structix/Main.java" />
</list> </list>
</option> </option>
@@ -161,6 +154,7 @@
<panes> <panes>
<pane id="PackagesPane" /> <pane id="PackagesPane" />
<pane id="Scratches" /> <pane id="Scratches" />
<pane id="Scope" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<PATH> <PATH>
@@ -199,7 +193,6 @@
</PATH> </PATH>
</subPane> </subPane>
</pane> </pane>
<pane id="Scope" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
@@ -635,11 +628,14 @@
<workItem from="1463423535807" duration="5731000" /> <workItem from="1463423535807" duration="5731000" />
<workItem from="1463476002834" duration="78000" /> <workItem from="1463476002834" duration="78000" />
<workItem from="1463476096375" duration="5362000" /> <workItem from="1463476096375" duration="5362000" />
<workItem from="1463492544438" duration="867000" />
<workItem from="1463653975356" duration="937000" />
<workItem from="1463735643744" duration="4784000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="26596000" /> <option name="totallyTimeSpent" value="33184000" />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="0" y="0" width="2560" height="1398" extended-state="6" /> <frame x="0" y="0" width="2560" height="1398" extended-state="6" />
@@ -653,7 +649,7 @@
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32919255" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3206522" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@@ -694,6 +690,150 @@
<option name="FILTER_TARGETS" value="false" /> <option name="FILTER_TARGETS" value="false" />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/com/structix/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<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="1998">
<caret line="117" column="59" selection-start-line="117" selection-start-column="59" selection-end-line="117" selection-end-column="59" />
<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="1134">
<caret line="65" column="20" selection-start-line="65" selection-start-column="20" selection-end-line="65" selection-end-column="20" />
<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">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<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="1998">
<caret line="117" column="59" selection-start-line="117" selection-start-column="59" selection-end-line="117" selection-end-column="59" />
<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="1134">
<caret line="65" column="20" selection-start-line="65" selection-start-column="20" selection-end-line="65" selection-end-column="20" />
<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">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<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="1998">
<caret line="117" column="59" selection-start-line="117" selection-start-column="59" selection-end-line="117" selection-end-column="59" />
<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="1134">
<caret line="65" column="20" selection-start-line="65" selection-start-column="20" selection-end-line="65" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/structix/Main.java"> <entry file="file://$PROJECT_DIR$/src/com/structix/Main.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="0">
@@ -714,10 +854,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="180"> <state relative-caret-position="180">
<caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" /> <caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
<folding> <folding />
<element signature="e#3609#3610#0" expanded="true" />
<element signature="e#3670#3671#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -757,10 +894,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="180"> <state relative-caret-position="180">
<caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" /> <caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
<folding> <folding />
<element signature="e#3609#3610#0" expanded="true" />
<element signature="e#3670#3671#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -792,10 +926,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="234"> <state relative-caret-position="234">
<caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" /> <caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" />
<folding> <folding />
<element signature="e#3609#3610#0" expanded="true" />
<element signature="e#3670#3671#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -827,10 +958,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="234"> <state relative-caret-position="234">
<caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" /> <caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" />
<folding> <folding />
<element signature="e#3609#3610#0" expanded="true" />
<element signature="e#3670#3671#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -870,10 +998,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="720"> <state relative-caret-position="720">
<caret line="42" column="35" selection-start-line="42" selection-start-column="35" selection-end-line="42" selection-end-column="35" /> <caret line="42" column="35" selection-start-line="42" selection-start-column="35" selection-end-line="42" selection-end-column="35" />
<folding> <folding />
<element signature="e#3609#3610#0" expanded="true" />
<element signature="e#3670#3671#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -893,25 +1018,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/com/structix/Analyse.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="240">
<caret line="117" column="59" selection-start-line="117" selection-start-column="59" selection-end-line="117" selection-end-column="59" />
<folding>
<element signature="e#3609#3610#0" expanded="true" />
<element signature="e#3670#3671#0" expanded="true" />
</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="1134">
<caret line="65" column="20" selection-start-line="65" selection-start-column="20" selection-end-line="65" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Test.txt"> <entry file="file://$PROJECT_DIR$/Test.txt">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="36"> <state relative-caret-position="36">
@@ -920,10 +1026,26 @@
</state> </state>
</provider> </provider>
</entry> </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/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/Main.java"> <entry file="file://$PROJECT_DIR$/src/com/structix/Main.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270"> <state relative-caret-position="504">
<caret line="15" column="30" selection-start-line="15" selection-start-column="30" selection-end-line="15" selection-end-column="30" /> <caret line="28" column="30" selection-start-line="28" selection-start-column="30" selection-end-line="28" selection-end-column="30" />
<folding /> <folding />
</state> </state>
</provider> </provider>

View File

@@ -8,15 +8,23 @@ import java.util.Scanner;
* Created by structix on 14.05.16. * Created by structix on 14.05.16.
*/ */
/* Analyse Klasse:
* Hier wird sowohl die Datei eingelesen, als auch verarbeitet.
* Die Ergebnisse werden dann von den Methoden zurückgeliefert
*
*/
public class Analyse { public class Analyse {
//Definition der globalen Variablen
private String inhalt = ""; private String inhalt = "";
private String woerterGesamt[]; private String woerterGesamt[];
private String einzelneWoerter[]; private String einzelneWoerter[];
//Konstruktor des Objekts mit dem Dateipfad als Übergabewert
public Analyse(String dateipfad) { public Analyse(String dateipfad) {
//Inhalt der Datei wird an den globalen String inhalt übergeben
inhalt = dateilesen(dateipfad); inhalt = dateilesen(dateipfad);
//Text wird direkt für die Verarbeitung angepasst
textAnpassen(); textAnpassen();
//Initialisierung der globalen Variablen //Initialisierung der globalen Variablen
@@ -24,117 +32,180 @@ public class Analyse {
haeufigkeit(); haeufigkeit();
} }
//Hier wird die Datei aus einem bestimmten Dateipfad ausgelesen
private String dateilesen(String dateipfad) { private String dateilesen(String dateipfad) {
//Variablen werden definiert
Scanner datei; Scanner datei;
String text = ""; String text = "";
//Der try-catch Block wird benötigt, falls die Datei nicht vorhanden ist
try { try {
//Scanner bekommt den Dateipfad als File übergeben
datei = new Scanner(new File(dateipfad)); datei = new Scanner(new File(dateipfad));
//Der Inhalt wird nach dem Regulären Ausdruck
// \Z also bis zum Ende des Inputs bzw. bis zum letzten Terminator (falls vorhanden)
//eingelesen. Ein weiterer \ kommt hinzu, um die Escapesequenz für einen \ einzuleiten.
text = datei.useDelimiter("\\Z").next(); text = datei.useDelimiter("\\Z").next();
//Scanner wird geschlossen
datei.close(); datei.close();
} catch (FileNotFoundException ex) { } catch (FileNotFoundException ex) {
//Falls es zu einem Fehler kam, soll auf System.err eine kurze Fehlermeldung erscheinen.
ex.getLocalizedMessage(); ex.getLocalizedMessage();
} }
//Text wird als String zurückgegeben
return text; return text;
} }
//Hier wird der Text angepasst
public void textAnpassen() { public void textAnpassen() {
String verarbeitung; String verarbeitung;
//Leere Zeilen werden entfernt und Zeilenumbrüche mit Leerzeichen ersetzt
verarbeitung = inhalt.replace("\n\n", ""); verarbeitung = inhalt.replace("\n\n", "");
verarbeitung = verarbeitung.replace("\n", " "); verarbeitung = verarbeitung.replace("\n", " ");
//Array des Textes wird mit dem Leerzeichen Delimiter erstellt
woerterGesamt = verarbeitung.split(" "); woerterGesamt = verarbeitung.split(" ");
} }
//Anzahl der Wörter werden zurückgegeben, da die Länge des Arrays aller Wörter abgefragt wird
public int laenge() { public int laenge() {
return woerterGesamt.length; return woerterGesamt.length;
} }
//Hier werden die verschiedenen Wörter im Text bestimmt
public int verschiedenWoerter() { public int verschiedenWoerter() {
//Initialisierung eines leeren temporären Arrays mit der länge von allen Wörtern wird erstellt
String tempArray[] = new String[woerterGesamt.length]; String tempArray[] = new String[woerterGesamt.length];
boolean vorhanden; boolean vorhanden;
int tempbelegt = 0; int tempbelegt = 0; //Zähler für ein noch nicht vorhandenes Wort
//Gesamte Wörter Liste wird durchgegangen
for (int i = 0; i < woerterGesamt.length; i++) { for (int i = 0; i < woerterGesamt.length; i++) {
vorhanden = false; vorhanden = false; //Wird vor jedem Durchlauf auf false gesetzt
//Schleife um jeden Eintrag im temporären Array mit dem woerterGesamt Array zu vergleichen
for (int z = 0; z < tempArray.length; z++) { for (int z = 0; z < tempArray.length; z++) {
//Wenn der Eintrag einmal oder mehrmals vorhanden ist wird vorhanden auf true gesetzt
if (woerterGesamt[i].equals(tempArray[z])) { if (woerterGesamt[i].equals(tempArray[z])) {
vorhanden = true; vorhanden = true;
} }
} }
//Wenn vorhanden auf false ist, also der Eintrag im temporären Array
//noch nicht vorhanden ist, soll ein neuer Eintrag erstellt werden
if (!vorhanden) { if (!vorhanden) {
tempArray[tempbelegt] = woerterGesamt[i]; tempArray[tempbelegt] = woerterGesamt[i];
//Zähler wird für die richtige Position um 1 inkrementiert
tempbelegt++; tempbelegt++;
} }
} }
//Das Array einzelneWoerter wird mit der Länge vondem temporär Zähler initialisiert
einzelneWoerter = new String[tempbelegt]; einzelneWoerter = new String[tempbelegt];
//Hier werden alle Werte von tempArray in das einzelneWoerter Array geschrieben
for (int i = 0; i < tempbelegt; i++) { for (int i = 0; i < tempbelegt; i++) {
einzelneWoerter[i] = tempArray[i]; einzelneWoerter[i] = tempArray[i];
} }
//Der Rückgabewert wieviele verschiedene Wörter es gibt
return tempbelegt; return tempbelegt;
} }
//Hier wird die Häufigkeit der einzelnen Wörter im Text bestimmt
public String haeufigkeit() { public String haeufigkeit() {
//Ein leeres Integer Array für die Anzahl der einzelnenWoerter wird erstellt
int anzahl[] = new int[einzelneWoerter.length]; int anzahl[] = new int[einzelneWoerter.length];
//Alle Einträge werden auf 0 gesetzt, damit danach hochgezählt werden kann
for (int i = 0; i < anzahl.length; i++) { for (int i = 0; i < anzahl.length; i++) {
anzahl[i] = 0; anzahl[i] = 0;
} }
//Die gesamte Wörter Liste wird durchgegangen
for (int i = 0; i < woerterGesamt.length; i++) { for (int i = 0; i < woerterGesamt.length; i++) {
//Darin wird wiederum die einzelneWoerter Liste durchgegangen,
//um die Anzahl an der richtigen Stelle zu inkrementieren
for (int z = 0; z < einzelneWoerter.length; z++) { for (int z = 0; z < einzelneWoerter.length; z++) {
//Vergleich von einem Eintrag in der gesamten Wörterliste mit allen Einträgen
//aus dem einzelneWoerter Array
if (woerterGesamt[i].equals(einzelneWoerter[z])) { if (woerterGesamt[i].equals(einzelneWoerter[z])) {
anzahl[z] += 1; anzahl[z] += 1;
} }
} }
} }
//Hier wird die Methode sortieren aufgerufen und dort das sortierte Ergebnis ausgegeben
return sortieren(einzelneWoerter, anzahl); return sortieren(einzelneWoerter, anzahl);
} }
//Kompletter Text wird ausgegeben
public String textausgabe() { public String textausgabe() {
return inhalt; return inhalt;
} }
//Sortier Methode
private String sortieren(String woerter[], int anz[]) { private String sortieren(String woerter[], int anz[]) {
/**
* Diese Methode basiert auf dem Bubblesort Sortieralgorithmus.
* Dieser wurde jedoch um ein Array erweitert. Es wird nach absteigendenden Zahlen sortiert
* und in diesem Verhältnis das woerter Array mit sortiert.
* Das heißt die Anordnung der beiden Arrays ist nach dem sortieren immernoch korrekt.
*/
//Temporäre Variablen für Integer und String
String tempstring; String tempstring;
int tempint; int tempint;
//Das komplette Array wird durchgegangen
for (int i = 1; i < woerter.length; i++) { for (int i = 1; i < woerter.length; i++) {
//Darin wird das selbe Array (selbe Länge) nochmals durchgegangen
//Allerdings bei jedem Durchgang um i weniger, da diese Einträge schon sortiert wurden
for (int z = 0; z < anz.length - i; z++) { for (int z = 0; z < anz.length - i; z++) {
//Wenn Eintrag an der aktuellen Stelle kleiner wie an der nächsten Stelle ist,
//soll umsortiert (Plätze getauscht) werden
if (anz[z] < anz[z + 1]) { if (anz[z] < anz[z + 1]) {
//Aktueller Eintrag wird ausgelagert
tempint = anz[z]; tempint = anz[z];
//Aktueller Eintrag wird mit dem nächsten Eintrag ersetzt
anz[z] = anz[z + 1]; anz[z] = anz[z + 1];
//Nächster Wert wird mit dem ausgelagerten Wert überschrieben
anz[z + 1] = tempint; anz[z + 1] = tempint;
//Das selbe Verfahren wird nun mit dem String gemacht,
//da die Positionen gleich bleiben sollen
tempstring = woerter[z]; tempstring = woerter[z];
woerter[z] = woerter[z + 1]; woerter[z] = woerter[z + 1];
woerter[z + 1] = tempstring; woerter[z + 1] = tempstring;
} }
} }
} }
//Hier werden die sortierten Einträge nacheinander ausgegeben bzw. in den String ausgabe geschrieben
String ausgabe = ""; String ausgabe = "";
for (int i = 0; i < anz.length; i++) { for (int i = 0; i < anz.length; i++) {
ausgabe += woerter[i] + ": " + anz[i] + " (" + prozentsatz(anz[i], laenge()) + "%)" + "\n"; ausgabe += woerter[i] + ": " + anz[i] + " (" + prozentsatz(anz[i], laenge()) + "%)" + "\n";
} }
//Ausgabe wird zurückgeliefert
return ausgabe; return ausgabe;
} }
//Hier wird die Anzahl der Buchstaben inklusive Leerzeichen zurückgegeben
public int anzBuchstabenMLeerzeichen() { public int anzBuchstabenMLeerzeichen() {
//Mit Leerzeichen //Mit Leerzeichen
return inhalt.length(); return inhalt.length();
} }
//Hier wird die Anzahl der Buchstaben ohne Leerzeichen ausgegeben
public int anzBuchstabenOLeerzeichen() { public int anzBuchstabenOLeerzeichen() {
//Ohne Leerzeichen //Ohne Leerzeichen
String temp = inhalt.replace(" ", ""); String temp = inhalt.replace(" ", ""); // Leerzeichen wird gegen "nichts" ersetzt
return temp.length(); return temp.length();
} }
//Methode zum errechnen des Prozentsatzes
private double prozentsatz(int prozentwert, int grundwert) { private double prozentsatz(int prozentwert, int grundwert) {
return (double) prozentwert / grundwert * 100; return (double) prozentwert / grundwert * 100;
} }
//Prozentualer Anteil der Leerzeichen
public int stats_leerzeichen() { public int stats_leerzeichen() {
return (int) prozentsatz(anzBuchstabenMLeerzeichen() - anzBuchstabenOLeerzeichen(), anzBuchstabenMLeerzeichen()); return (int) prozentsatz(anzBuchstabenMLeerzeichen() - anzBuchstabenOLeerzeichen(), anzBuchstabenMLeerzeichen());
} }

View File

@@ -1,6 +1,18 @@
package com.structix; package com.structix;
/* Main:
* Diese Klasse ist für die Ausführung des gesamten Programms verantwortlich.
* Hier werden die nötigen Objekte erzeugt, um das Menü auszuführen.
*
*/
/* Funktionen: /* Funktionen:
* Einen Text aus einer Datei lesen und nach folgenden Kriterien analysieren: * Einen Text aus einer Datei lesen und nach folgenden Kriterien analysieren:
* - Wörter zählen * - Wörter zählen
@@ -14,15 +26,24 @@ package com.structix;
* 15.05.16: 20:41 - 21:38 Uhr * 15.05.16: 20:41 - 21:38 Uhr
* 16.05.16: 20:47 - 21:44 Uhr * 16.05.16: 20:47 - 21:44 Uhr
* 17.05.16: 11:59 - 12:37 Uhr * 17.05.16: 11:59 - 12:37 Uhr
* 20.05.16: 11:18 - 12:32 Uhr
*/ */
public class Main { public class Main {
public static void main(String[] args) { public static void main(String[] args) {
//Menü Objekt wird erzeugt
Menu m = new Menu(); Menu m = new Menu();
//Auskommentieren, um einen Dateipfad einzugeben
m.debug(); m.debug();
//m.dateipfad(); //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()); while (!m.hauptmenu());
//Nachricht vor dem Beenden des Programms
System.out.println("Auf Wiedersehen!"); System.out.println("Auf Wiedersehen!");
} }
} }

View File

@@ -5,27 +5,42 @@ import java.util.Scanner;
/** /**
* Created by structix on 15.05.16. * Created by structix on 15.05.16.
*/ */
/* Menu Klasse:
* Diese Klasse bestimmt das Verhalten des Menüs.
* Hier werden die Funktionen hinter den Menüeinträgen bestimmt.
*/
public class Menu { public class Menu {
//Objekte vom Menubuilder werden erzeugt und mit den Überschriften initialisiert.
Menubuilder mbuilder = new Menubuilder("Textanalyse"); Menubuilder mbuilder = new Menubuilder("Textanalyse");
Analyse an;
Menubuilder statsmenu = new Menubuilder("Statistiken"); Menubuilder statsmenu = new Menubuilder("Statistiken");
//Objekt der Analyse Klasse wird definiert.
//Es findet keine Deklaration statt, da dieses Objekt einen Dateipfad benötigt.
Analyse an;
//Zum testen kann dem Analyse Objekt ein fester Dateipfad mitgeliefert werden
public void debug() { public void debug() {
an = new Analyse("Test.txt"); an = new Analyse("Test.txt");
} }
//Hier wird ein Dateipfad abgefragt
public void dateipfad() { public void dateipfad() {
System.out.println("Geben Sie einen Dateipfad an (relativ sowie absolut erlaubt): "); System.out.println("Geben Sie einen Dateipfad an (relativ sowie absolut erlaubt): ");
Scanner eingabe = new Scanner(System.in); Scanner eingabe = new Scanner(System.in);
//Instanz wird mit dem eingegebenen Dateipfad erstellt
an = new Analyse(eingabe.nextLine()); an = new Analyse(eingabe.nextLine());
} }
//Hier wird das Verhalten des Hauptmenüs beschrieben
public boolean hauptmenu() { public boolean hauptmenu() {
//Das Hauptmenü wird ausgeführt, solange exit nicht wahr ist
boolean exit = false; boolean exit = false;
int auswahl = 0; int auswahl = 0;
//Menü wird mit Einträgen befüllt und auf das Ergebnis "gewartet"
//Die Zeichen für den Rahmen müssen auch angegeben werden
auswahl = mbuilder.menuAnzeigen(new String[]{"Anzahl der Wörter", "Anzahl der verschiedenen Wörter", "Anzahl der Buchstaben", "Statistik Menü"}, "||"); auswahl = mbuilder.menuAnzeigen(new String[]{"Anzahl der Wörter", "Anzahl der verschiedenen Wörter", "Anzahl der Buchstaben", "Statistik Menü"}, "||");
switch (auswahl) { switch (auswahl) {
case 1: case 1:
@@ -39,19 +54,24 @@ public class Menu {
ausgabe("Buchstaben (ohne Leerzeichen): " + an.anzBuchstabenOLeerzeichen()); ausgabe("Buchstaben (ohne Leerzeichen): " + an.anzBuchstabenOLeerzeichen());
break; break;
case 4: case 4:
//Aufruf eines weiteren Menüs
while (!statistikmenu()); while (!statistikmenu());
break; break;
default: default:
exit = true; exit = true;
break; break; //Nicht zwingend notwendig
} }
//Boolean wird zurückgegeben
return exit; return exit;
} }
//Statistikmenü
public boolean statistikmenu() { public boolean statistikmenu() {
boolean exit = false; boolean exit = false;
int auswahl = 0; int auswahl = 0;
//Menü wird wieder mit Strings befüllt und der Rückgabe Wert der Variable auswahl zugeordnet
auswahl = statsmenu.menuAnzeigen(new String[]{"Enthaltene Leerzeichen", "Häufigkeit der verschiedenen Wörter"}, "||"); auswahl = statsmenu.menuAnzeigen(new String[]{"Enthaltene Leerzeichen", "Häufigkeit der verschiedenen Wörter"}, "||");
//Fallunterscheidung der Variable auswahl
switch (auswahl) { switch (auswahl) {
case 1: case 1:
ausgabe("Prozentsatz der enthaltenen Leerzeichen: " + an.stats_leerzeichen() + "%"); ausgabe("Prozentsatz der enthaltenen Leerzeichen: " + an.stats_leerzeichen() + "%");
@@ -61,11 +81,13 @@ public class Menu {
break; break;
default: default:
exit = true; exit = true;
break; break; //Nicht zwingend notwendig
} }
//Boolean wird zurückgegeben
return exit; return exit;
} }
//Methode zur einfacheren Ausgabe
private void ausgabe(String eing) { private void ausgabe(String eing) {
System.out.println(eing); System.out.println(eing);
} }