Leetspeak Konverter #9

Sourcecode kommentiert #5
This commit is contained in:
2016-05-29 17:30:24 +02:00
parent b9bc18472d
commit 584899c788
12 changed files with 174 additions and 131 deletions

142
.idea/workspace.xml generated
View File

@@ -12,6 +12,7 @@
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/structix/CommandLineInterface.java" afterPath="$PROJECT_DIR$/src/com/structix/CommandLineInterface.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/structix/CommandLineInterface.java" afterPath="$PROJECT_DIR$/src/com/structix/CommandLineInterface.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" />
@@ -37,8 +38,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="556"> <state relative-caret-position="378">
<caret line="31" column="30" selection-start-line="31" selection-start-column="30" selection-end-line="31" selection-end-column="30" /> <caret line="21" column="30" selection-start-line="21" selection-start-column="30" selection-end-line="21" selection-end-column="30" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@@ -47,8 +48,8 @@
<file leaf-file-name="CommandLineInterface.java" pinned="false" current-in-tab="false"> <file leaf-file-name="CommandLineInterface.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/structix/CommandLineInterface.java"> <entry file="file://$PROJECT_DIR$/src/com/structix/CommandLineInterface.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1062"> <state relative-caret-position="630">
<caret line="116" column="34" selection-start-line="116" selection-start-column="34" selection-end-line="116" selection-end-column="34" /> <caret line="150" column="71" selection-start-line="150" selection-start-column="71" selection-end-line="150" selection-end-column="71" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@@ -67,8 +68,8 @@
<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="1006"> <state relative-caret-position="898">
<caret line="282" column="115" selection-start-line="282" selection-start-column="115" selection-end-line="282" selection-end-column="115" /> <caret line="361" column="47" selection-start-line="361" selection-start-column="47" selection-end-line="361" selection-end-column="47" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@@ -77,23 +78,8 @@
<file leaf-file-name="Menubuilder.java" pinned="false" current-in-tab="false"> <file leaf-file-name="Menubuilder.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/structix/Menubuilder.java"> <entry file="file://$PROJECT_DIR$/src/com/structix/Menubuilder.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2088"> <state relative-caret-position="234">
<caret line="120" column="0" selection-start-line="120" selection-start-column="0" selection-end-line="120" selection-end-column="0" /> <caret line="13" column="0" selection-start-line="13" selection-start-column="0" selection-end-line="13" selection-end-column="0" />
<folding>
<element signature="e#247#248#0" expanded="false" />
<element signature="e#283#284#0" expanded="false" />
<element signature="e#2490#2491#0" expanded="false" />
<element signature="e#2531#2532#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Test.txt" pinned="false" current-in-tab="false">
<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 /> <folding />
</state> </state>
</provider> </provider>
@@ -102,8 +88,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="448"> <state relative-caret-position="234">
<caret line="93" column="22" selection-start-line="93" selection-start-column="22" selection-end-line="93" selection-end-column="22" /> <caret line="13" column="0" selection-start-line="13" selection-start-column="0" selection-end-line="13" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@@ -129,10 +115,10 @@
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
<list> <list>
<option value="$PROJECT_DIR$/src/com/structix/Menubuilder.java" />
<option value="$PROJECT_DIR$/Test.txt" /> <option value="$PROJECT_DIR$/Test.txt" />
<option value="$PROJECT_DIR$/src/com/structix/Analyse.java" />
<option value="$PROJECT_DIR$/src/com/structix/Menu.java" /> <option value="$PROJECT_DIR$/src/com/structix/Menu.java" />
<option value="$PROJECT_DIR$/src/com/structix/Menubuilder.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/CommandLineInterface.java" />
<option value="$PROJECT_DIR$/src/com/structix/Main.java" /> <option value="$PROJECT_DIR$/src/com/structix/Main.java" />
</list> </list>
@@ -244,7 +230,7 @@
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="com.structix.Main" /> <option name="MAIN_CLASS_NAME" value="com.structix.Main" />
<option name="VM_PARAMETERS" value="" /> <option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" /> <option name="PROGRAM_PARAMETERS" value="--credits" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" /> <option name="ALTERNATIVE_JRE_PATH" />
@@ -673,15 +659,16 @@
<workItem from="1464104232545" duration="6138000" /> <workItem from="1464104232545" duration="6138000" />
<workItem from="1464163482304" duration="4482000" /> <workItem from="1464163482304" duration="4482000" />
<workItem from="1464252786359" duration="2503000" /> <workItem from="1464252786359" duration="2503000" />
<workItem from="1464530407944" duration="4576000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="47144000" /> <option name="totallyTimeSpent" value="51720000" />
</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" />
<editor active="false" /> <editor active="true" />
<layout> <layout>
<window_info id="Palette" 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="Palette" 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="TODO" 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="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" 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="6" side_tool="false" content_ui="tabs" />
@@ -752,12 +739,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2088"> <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" /> <caret line="120" column="0" selection-start-line="120" selection-start-column="0" selection-end-line="120" selection-end-column="0" />
<folding> <folding />
<element signature="e#247#248#0" expanded="false" />
<element signature="e#283#284#0" expanded="false" />
<element signature="e#2490#2491#0" expanded="false" />
<element signature="e#2531#2532#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -805,12 +787,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2088"> <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" /> <caret line="120" column="0" selection-start-line="120" selection-start-column="0" selection-end-line="120" selection-end-column="0" />
<folding> <folding />
<element signature="e#247#248#0" expanded="false" />
<element signature="e#283#284#0" expanded="false" />
<element signature="e#2490#2491#0" expanded="false" />
<element signature="e#2531#2532#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -858,12 +835,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2088"> <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" /> <caret line="120" column="0" selection-start-line="120" selection-start-column="0" selection-end-line="120" selection-end-column="0" />
<folding> <folding />
<element signature="e#247#248#0" expanded="false" />
<element signature="e#283#284#0" expanded="false" />
<element signature="e#2490#2491#0" expanded="false" />
<element signature="e#2531#2532#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -911,12 +883,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2088"> <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" /> <caret line="120" column="0" selection-start-line="120" selection-start-column="0" selection-end-line="120" selection-end-column="0" />
<folding> <folding />
<element signature="e#247#248#0" expanded="false" />
<element signature="e#283#284#0" expanded="false" />
<element signature="e#2490#2491#0" expanded="false" />
<element signature="e#2531#2532#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -964,12 +931,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1782"> <state relative-caret-position="1782">
<caret line="103" column="5" selection-start-line="103" selection-start-column="5" selection-end-line="103" selection-end-column="5" /> <caret line="103" column="5" selection-start-line="103" selection-start-column="5" selection-end-line="103" selection-end-column="5" />
<folding> <folding />
<element signature="e#247#248#0" expanded="false" />
<element signature="e#283#284#0" expanded="false" />
<element signature="e#2490#2491#0" expanded="false" />
<element signature="e#2531#2532#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -1009,12 +971,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1782"> <state relative-caret-position="1782">
<caret line="103" column="5" selection-start-line="103" selection-start-column="5" selection-end-line="103" selection-end-column="5" /> <caret line="103" column="5" selection-start-line="103" selection-start-column="5" selection-end-line="103" selection-end-column="5" />
<folding> <folding />
<element signature="e#247#248#0" expanded="false" />
<element signature="e#283#284#0" expanded="false" />
<element signature="e#2490#2491#0" expanded="false" />
<element signature="e#2531#2532#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -1046,12 +1003,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="486"> <state relative-caret-position="486">
<caret line="30" column="20" selection-start-line="30" selection-start-column="20" selection-end-line="30" selection-end-column="20" /> <caret line="30" column="20" selection-start-line="30" selection-start-column="20" selection-end-line="30" selection-end-column="20" />
<folding> <folding />
<element signature="e#247#248#0" expanded="false" />
<element signature="e#283#284#0" expanded="false" />
<element signature="e#2490#2491#0" expanded="false" />
<element signature="e#2531#2532#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -1083,12 +1035,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="486"> <state relative-caret-position="486">
<caret line="30" column="20" selection-start-line="30" selection-start-column="20" selection-end-line="30" selection-end-column="20" /> <caret line="30" column="20" selection-start-line="30" selection-start-column="20" selection-end-line="30" selection-end-column="20" />
<folding> <folding />
<element signature="e#247#248#0" expanded="false" />
<element signature="e#283#284#0" expanded="false" />
<element signature="e#2490#2491#0" expanded="false" />
<element signature="e#2531#2532#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -1132,19 +1079,6 @@
</state> </state>
</provider> </provider>
</entry> </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>
<element signature="e#247#248#0" expanded="false" />
<element signature="e#283#284#0" expanded="false" />
<element signature="e#2490#2491#0" expanded="false" />
<element signature="e#2531#2532#0" expanded="false" />
</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">
@@ -1153,34 +1087,42 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/com/structix/Analyse.java"> <entry file="file://$PROJECT_DIR$/src/com/structix/Menubuilder.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1006"> <state relative-caret-position="234">
<caret line="282" column="115" selection-start-line="282" selection-start-column="115" selection-end-line="282" selection-end-column="115" /> <caret line="13" column="0" selection-start-line="13" selection-start-column="0" selection-end-line="13" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<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="448"> <state relative-caret-position="234">
<caret line="93" column="22" selection-start-line="93" selection-start-column="22" selection-end-line="93" selection-end-column="22" /> <caret line="13" column="0" selection-start-line="13" selection-start-column="0" selection-end-line="13" 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="898">
<caret line="361" column="47" selection-start-line="361" selection-start-column="47" selection-end-line="361" selection-end-column="47" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/com/structix/CommandLineInterface.java"> <entry file="file://$PROJECT_DIR$/src/com/structix/CommandLineInterface.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1062"> <state relative-caret-position="630">
<caret line="116" column="34" selection-start-line="116" selection-start-column="34" selection-end-line="116" selection-end-column="34" /> <caret line="150" column="71" selection-start-line="150" selection-start-column="71" selection-end-line="150" selection-end-column="71" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </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="556"> <state relative-caret-position="378">
<caret line="31" column="30" selection-start-line="31" selection-start-column="30" selection-end-line="31" selection-end-column="30" /> <caret line="21" column="30" selection-start-line="21" selection-start-column="30" selection-end-line="21" selection-end-column="30" />
<folding /> <folding />
</state> </state>
</provider> </provider>

View File

@@ -8,7 +8,8 @@ import java.util.Scanner;
* Created by structix on 14.05.16. * Created by structix on 14.05.16.
*/ */
/* Analyse Klasse: /**
* Analyse Klasse:
* Hier wird sowohl die Datei eingelesen, als auch verarbeitet. * Hier wird sowohl die Datei eingelesen, als auch verarbeitet.
* Die Ergebnisse werden dann von den Methoden zurückgeliefert * Die Ergebnisse werden dann von den Methoden zurückgeliefert
* *
@@ -210,29 +211,56 @@ public class Analyse {
return (int) prozentsatz(anzBuchstabenMLeerzeichen() - anzBuchstabenOLeerzeichen(), anzBuchstabenMLeerzeichen()); return (int) prozentsatz(anzBuchstabenMLeerzeichen() - anzBuchstabenOLeerzeichen(), anzBuchstabenMLeerzeichen());
} }
public String textformatWoerter(int anzahlWoerter) { public String textformatWoerter(int anzahlWoerter) {
//Hier wird der Text anhand der Anzahl der Wörter umgebrochen
String output = ""; String output = "";
int zaehler = 0; int zaehler = 0;
for (int i = 0; i < woerterGesamt.length; i++) { for (int i = 0; i < woerterGesamt.length; i++) {
/**
* Solange der Zeilenlängen Zähler (hier zaehler genannt)
* kleiner der Anzahl der Wörter ist, werden die Wörter nur in eine Zeile geschrieben.
* Überschreitet der zaehler dieses Kriterium, wird ein Zeilenumbruch gemacht und der
* zaehler auf 0 gesetzt.
*/
if (zaehler < anzahlWoerter) { if (zaehler < anzahlWoerter) {
output += woerterGesamt[i] + " "; output += woerterGesamt[i] + " ";
zaehler++; zaehler++;
} else { } else {
output += "\n"; output += "\n";
zaehler = 0; zaehler = 0;
//Da bei diesem Item der Umbruch gesetzt wurde,
//muss es noch normal behandelt werden --> i dekrementieren
i--; i--;
} }
} }
return output; return output;
} }
public String textFormatBuchstaben(int anzahlBuchstaben) { public String textFormatBuchstaben(int anzahlBuchstaben) {
//Hier wird der Text nach Anzahl der Buchstaben umgebrochen (nur ganze Wörter)
String output = ""; String output = "";
if (laengstesWort() <= anzahlBuchstaben) { if (laengstesWort() <= anzahlBuchstaben) {
int zeile = 0; int zeile = 0;
for (int i = 0; i < woerterGesamt.length; i++) { for (int i = 0; i < woerterGesamt.length; i++) {
/**
* Es wird geprüft, ob die Zeile mit dem neuen Wort noch kleiner/gleich dem Maximum ist.
* Wenn ja, wird es der Zeile hinzugefügt.
* Wenn nicht, wird ein Zeilenumbruch eingefügt, die Buchstaben Anzahl der Zeile auf 0 gesetzt
* und das Wort wiederholt, damit es in die neue Zeile kommt und nicht übersprungen wird.
*/
zeile += woerterGesamt[i].length(); zeile += woerterGesamt[i].length();
if (zeile <= anzahlBuchstaben) { if (zeile <= anzahlBuchstaben) {
output += woerterGesamt[i] + " "; output += woerterGesamt[i] + " ";
@@ -243,6 +271,7 @@ public class Analyse {
} }
} }
} else { } else {
//Fehler
output = "Anzahl der Buchstaben muss mindestens dem längsten Wort entsprechen(" + laengstesWort() + " Zeichen)."; output = "Anzahl der Buchstaben muss mindestens dem längsten Wort entsprechen(" + laengstesWort() + " Zeichen).";
} }
return output; return output;
@@ -250,6 +279,12 @@ public class Analyse {
public int laengstesWort() { public int laengstesWort() {
/**
* Hier wird das längste Wort ermittelt, in dem der Variable max immer die momentan
* gräßte Länge zugewiesen wird.
*/
int max = 0; int max = 0;
for (int i = 0; i < einzelneWoerter.length; i++) { for (int i = 0; i < einzelneWoerter.length; i++) {
if (einzelneWoerter[i].length() > max) { if (einzelneWoerter[i].length() > max) {
@@ -260,7 +295,12 @@ public class Analyse {
} }
public String hauefigkeitBuchstaben(String muster) { public String hauefigkeitBuchstaben(String muster) {
//Hier wird die Häufigkeit der Buchstaben bestimmt
//Das Muster und der Inhalt werden in ein Char Array konvertiert. Damit können sie direkt verglichen werden
char buchstaben[] = muster.toLowerCase().toCharArray(); char buchstaben[] = muster.toLowerCase().toCharArray();
int anzahl[] = new int[buchstaben.length]; int anzahl[] = new int[buchstaben.length];
char allebuchstaben[] = inhalt.toLowerCase().toCharArray(); char allebuchstaben[] = inhalt.toLowerCase().toCharArray();
@@ -273,12 +313,18 @@ public class Analyse {
for (int i = 0; i < allebuchstaben.length; i++) { for (int i = 0; i < allebuchstaben.length; i++) {
for (int z = 0; z < buchstaben.length; z++) { for (int z = 0; z < buchstaben.length; z++) {
/**
* Wenn der Buchstabe des Inhalts an der richtigen Stelle des Musters gleich ist,
* wird die dieser Buchstabe im Anzahl Array um 1 inkrementiert.
*/
if (allebuchstaben[i] == buchstaben[z]) { if (allebuchstaben[i] == buchstaben[z]) {
anzahl[z] += 1; anzahl[z] += 1;
} }
} }
} }
//Hier werden die Ergebnisse formatiert ausgegeben
for (int i = 0; i < buchstaben.length; i++) { for (int i = 0; i < buchstaben.length; i++) {
output += buchstaben[i] + ": " + anzahl[i] + " (" + prozentsatz(anzahl[i], allebuchstaben.length) + "%)\n"; output += buchstaben[i] + ": " + anzahl[i] + " (" + prozentsatz(anzahl[i], allebuchstaben.length) + "%)\n";
} }
@@ -286,5 +332,44 @@ public class Analyse {
} }
public String leetspeakKonverter() {
//Hier wird der Inhalt in das "Leetspeak Format" konvertiert
// https://de.wikipedia.org/wiki/Leetspeak
char ersetzen[] = {'a', 'e', 'o', 'l', 't', 'g', 's', 'b'};
char ersatz[] = {'4', '3', '0', '1', '7', '6', '5', '8'};
String ausgabe = inhalt;
/**
* Hier werden Nacheinander die Buchstaben aeoltgsb mit den jeweiligen Zahlen ersetzt.
*/
for (int i = 0; i < ersetzen.length; i++) {
ausgabe = replaceChar(ausgabe, ersetzen[i], ersatz[i]);
}
return ausgabe;
}
private String replaceChar(String input, char ersetzen, char ersatz) {
//Hier können Buchstaben in einem Text ersetzt werden
char buchstaben[] = input.toLowerCase().toCharArray();
String output = "";
for (int i = 0; i < buchstaben.length; i++) {
/**
* Wenn der Buchstabe gleich dem zu ersetzenden ist,
* wird der Buchstabe überschrieben
*/
if (buchstaben[i] == ersetzen) {
buchstaben[i] = ersatz;
}
output += buchstaben[i];
}
return output;
}
} }

View File

@@ -10,13 +10,18 @@ public class CommandLineInterface {
private String cmds[]; private String cmds[];
private String cmdseinzeln[]; private String cmdseinzeln[];
private String kommandos[] = {"-h", "-?", "--help", "--credits", "-w", "-v", "-b", "-ha", "-sl", "-tw", "-tb", private String kommandos[] = {"-h", "-?", "--help", "--credits", "-w", "-v", "-b", "-ha", "-sl", "-tw", "-tb",
"-tl", "-bz"}; "-tl", "-bz", "-1337", "-m"};
private String hilfe[] = {"Hilfe", "Hilfe", "Hilfe", "Credits", "Anzahl der Wörter", private String hilfe[] = {"Hilfe", "Hilfe", "Hilfe", "Credits", "Anzahl der Wörter",
"Anzahl der verwschiedenen Wörter", "Anzahl der Buchstaben", "Häufigkeit der Wörter", "Anzahl der verwschiedenen Wörter", "Anzahl der Buchstaben", "Häufigkeit der Wörter",
"Anteil der Leerzeichen im Text", "Textformatierung nach Anzahl der Wörter pro Zeile", "Anteil der Leerzeichen im Text", "Textformatierung nach Anzahl der Wörter pro Zeile",
"Textformatierung nach Anzahl der Buchstaben pro Zeile", "Textformatierung: Längstes Wort", "Textformatierung nach Anzahl der Buchstaben pro Zeile", "Textformatierung: Längstes Wort",
"Buchstaben zählen"}; "Buchstaben zählen", "1337 Text Konverter", "Menü anzeigen"};
private String DEVELOPER = "Janek Schoffit";
private String VERSIONNAME = "1.0";
String dateipfad = ""; String dateipfad = "";
int dateipfadstelle = -1; int dateipfadstelle = -1;
@@ -115,6 +120,16 @@ public class CommandLineInterface {
System.out.println("Bitte geben Sie alle Buchstaben ein, wonach gesucht werden soll (Bsp.: abcd): "); System.out.println("Bitte geben Sie alle Buchstaben ein, wonach gesucht werden soll (Bsp.: abcd): ");
System.out.println(an.hauefigkeitBuchstaben(eingabe.nextLine())); System.out.println(an.hauefigkeitBuchstaben(eingabe.nextLine()));
break; break;
case "-1337":
System.out.println(an.leetspeakKonverter());
break;
case "-m":
//Menü Objekt wird erzeugt
Menu m = new Menu();
m.dateipfad();
//Hauptmenü anzeigen
while (!m.hauptmenu());
break;
} }
} }
} }
@@ -127,13 +142,13 @@ public class CommandLineInterface {
private String hilfe() { private String hilfe() {
String hilfeText = "Benutzung: Textanalyse <Dateipfad>\n"; String hilfeText = "Benutzung: Textanalyse <Dateipfad>\n";
for (int i = 0; i < kommandos.length; i++) { for (int i = 0; i < kommandos.length; i++) {
hilfeText += kommandos[i] + " - " + hilfe[i] + "\n"; hilfeText += kommandos[i] + " || " + hilfe[i] + "\n";
} }
return hilfeText; return hilfeText;
} }
private String credits() { private String credits() {
return "Entwickler: Janek Schoffit"; return "Entwickler: " + DEVELOPER + "\nVersion: " + VERSIONNAME;
} }

View File

@@ -1,27 +1,16 @@
package com.structix; package com.structix;
/* Main: /**
* Main:
* Diese Klasse ist für die Ausführung des gesamten Programms verantwortlich. * Diese Klasse ist für die Ausführung des gesamten Programms verantwortlich.
* Hier werden die nötigen Objekte erzeugt, um das Menü auszuführen. * Hier werden die nötigen Objekte erzeugt, um das Menü auszuführen.
* Falls im args Array Argumente enthalten sind, wird das CommandlineInterface gestartet.
* *
*/ */
/**
* Bearbeitungszeit
/* Funktionen:
* Einen Text aus einer Datei lesen und nach folgenden Kriterien analysieren:
* - Wörter zählen
* - Anzahl der verschiedenen Wörter im Text
* - Die häufigst verwendeten Wörter
*
*/
/* Bearbeitungszeit
* 14.05.16: 13:04 - 14:08 Uhr * 14.05.16: 13:04 - 14:08 Uhr
* 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
@@ -30,6 +19,7 @@ package com.structix;
* 24:05.16: 17:46 - 19:17 Uhr * 24:05.16: 17:46 - 19:17 Uhr
* 25.05.16: 10:47 - 11:32 Uhr * 25.05.16: 10:47 - 11:32 Uhr
* 26.05.16: 11:34 - 11:57 Uhr * 26.05.16: 11:34 - 11:57 Uhr
* 29.05.16: 16:24 - 17:23 Uhr
*/ */
public class Main { public class Main {
@@ -38,8 +28,6 @@ public class Main {
CommandLineInterface cmd = new CommandLineInterface(args); CommandLineInterface cmd = new CommandLineInterface(args);
if (!cmd.argTest()) { if (!cmd.argTest()) {
//Menüteil wird ausgeführt, wenn keine Argumente übergeben werden //Menüteil wird ausgeführt, wenn keine Argumente übergeben werden
//Menü Objekt wird erzeugt //Menü Objekt wird erzeugt
@@ -48,15 +36,17 @@ public class Main {
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 * Solange kein exit Befehl kommt, wird das Menü angezeigt.
//schon einen Boolean Wert zurückgibt und damit bestimmt, ob die Bedingung wahr * Es ist kein Schleifenkörper notwendig, da die Methode Hauptmenu
//bleibt oder nicht * schon einen Boolean Wert zurückgibt und damit bestimmt, ob die Bedingung wahr
while (!m.hauptmenu()) ; * bleibt oder nicht
*/
while (!m.hauptmenu());
//Nachricht vor dem Beenden des Programms //Nachricht vor dem Beenden des Programms
System.out.println("Auf Wiedersehen!"); System.out.println("Auf Wiedersehen!");
} else { } else {
//Commandline Part //Commandline Part
cmd.ausfuehren(); cmd.ausfuehren();

View File

@@ -6,7 +6,8 @@ import java.util.Scanner;
* Created by structix on 15.05.16. * Created by structix on 15.05.16.
*/ */
/* Menu Klasse: /**
* Menu Klasse:
* Diese Klasse bestimmt das Verhalten des Menüs. * Diese Klasse bestimmt das Verhalten des Menüs.
* Hier werden die Funktionen hinter den Menüeinträgen bestimmt. * Hier werden die Funktionen hinter den Menüeinträgen bestimmt.
*/ */
@@ -104,7 +105,7 @@ public class Menu {
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 //Menü wird wieder mit Strings befüllt und der Rückgabe Wert der Variable auswahl zugeordnet
auswahl = formatmenu.menuAnzeigen(new String[]{"Nach Wörtern pro Zeile trennen", "Nach Anzahl der Buchstaben pro Zeile trennen", "Anzahl der Buchstaben des längsten Wortes"}, "||"); auswahl = formatmenu.menuAnzeigen(new String[]{"Nach Wörtern pro Zeile trennen", "Nach Anzahl der Buchstaben pro Zeile trennen", "Anzahl der Buchstaben des längsten Wortes", "1337 Text Konverter"}, "||");
//Fallunterscheidung der Variable auswahl //Fallunterscheidung der Variable auswahl
switch (auswahl) { switch (auswahl) {
case 1: case 1:
@@ -118,6 +119,9 @@ public class Menu {
case 3: case 3:
System.out.println("Buchstaben des längsten Wortes: " + an.laengstesWort()); System.out.println("Buchstaben des längsten Wortes: " + an.laengstesWort());
break; break;
case 4:
System.out.println(an.leetspeakKonverter());
break;
default: default:
exit = true; exit = true;
break; //Nicht zwingend notwendig break; //Nicht zwingend notwendig

View File

@@ -5,6 +5,13 @@ import java.util.Scanner;
/** /**
* Created by structix on 15.05.16. * Created by structix on 15.05.16.
*/ */
/**
* Diese Klasse wird benötigt, um das Layout der Menüs zu generieren.
* Damit muss man sich nurnoch um die Funktionen hinter dem Layout kümmern
* und kann das Menü auch schnell erweitern oder umgestalten.
*/
public class Menubuilder { public class Menubuilder {
private String ueberschrift; private String ueberschrift;