- Analyse: Häufigkeit wird nach größe sortiert

- Menubuilder: Rahmen um das Menü
- Menu: Rahmenzeichen angegeben
This commit is contained in:
2016-05-16 22:33:54 +02:00
parent 76e99d47ab
commit 3fa9782c37
10 changed files with 249 additions and 61 deletions

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

189
.idea/workspace.xml generated
View File

@@ -1,7 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<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="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/vcs.xml" />
<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/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$/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" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/structix/Menubuilder.java" afterPath="$PROJECT_DIR$/src/com/structix/Menubuilder.java" />
</list>
<ignored path="Textanalyse.iws" /> <ignored path="Textanalyse.iws" />
<ignored path=".idea/workspace.xml" /> <ignored path=".idea/workspace.xml" />
<ignored path="$PROJECT_DIR$/out/" /> <ignored path="$PROJECT_DIR$/out/" />
@@ -26,8 +36,18 @@
<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="432"> <state relative-caret-position="378">
<caret line="24" column="0" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" /> <caret line="21" column="8" selection-start-line="21" selection-start-column="8" selection-end-line="21" selection-end-column="8" />
<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">
<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 /> <folding />
</state> </state>
</provider> </provider>
@@ -36,8 +56,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="270"> <state relative-caret-position="150">
<caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" /> <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="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
@@ -48,15 +68,9 @@
<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="540"> <state relative-caret-position="1266">
<caret line="30" column="20" selection-start-line="30" selection-start-column="20" selection-end-line="30" selection-end-column="20" /> <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="imports" expanded="true" />
<element signature="e#288#289#0" expanded="true" />
<element signature="e#324#325#0" expanded="true" />
<element signature="e#862#863#0" expanded="true" />
<element signature="e#903#904#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -64,11 +78,11 @@
<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="504"> <state relative-caret-position="348">
<caret line="28" column="50" selection-start-line="28" selection-start-column="50" selection-end-line="28" selection-end-column="50" /> <caret line="28" column="106" selection-start-line="28" selection-start-column="106" selection-end-line="28" selection-end-column="106" />
<folding> <folding>
<element signature="e#1142#1143#0" expanded="true" /> <element signature="e#216#217#0" expanded="true" />
<element signature="e#1182#1183#0" expanded="true" /> <element signature="e#260#261#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
@@ -83,6 +97,9 @@
</list> </list>
</option> </option>
</component> </component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="GradleLocalSettings"> <component name="GradleLocalSettings">
<option name="externalProjectsViewState"> <option name="externalProjectsViewState">
<projects_view /> <projects_view />
@@ -134,8 +151,6 @@
</navigator> </navigator>
<panes> <panes>
<pane id="Scratches" /> <pane id="Scratches" />
<pane id="Scope" />
<pane id="PackagesPane" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<PATH> <PATH>
@@ -174,6 +189,8 @@
</PATH> </PATH>
</subPane> </subPane>
</pane> </pane>
<pane id="Scope" />
<pane id="PackagesPane" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
@@ -605,15 +622,17 @@
<workItem from="1463228366739" duration="383000" /> <workItem from="1463228366739" duration="383000" />
<workItem from="1463330629962" duration="4416000" /> <workItem from="1463330629962" duration="4416000" />
<workItem from="1463336597838" duration="5127000" /> <workItem from="1463336597838" duration="5127000" />
<workItem from="1463405591754" duration="1445000" />
<workItem from="1463423535807" duration="5731000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="13980000" /> <option name="totallyTimeSpent" value="21156000" />
</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="true" /> <editor active="false" />
<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" />
@@ -664,6 +683,80 @@
<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="288">
<caret line="16" column="13" selection-start-line="16" selection-start-column="13" selection-end-line="16" selection-end-column="13" />
<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="234">
<caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" />
<folding>
<element signature="imports" expanded="true" />
</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="486">
<caret line="30" column="20" selection-start-line="30" selection-start-column="20" selection-end-line="30" selection-end-column="20" />
<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="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="e#216#217#0" expanded="true" />
<element signature="e#260#261#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="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$/src/com/structix/Analyse.java">
<provider selected="true" editor-type-id="text-editor">
<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" />
<folding>
<element signature="imports" expanded="true" />
</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="486">
<caret line="30" column="20" selection-start-line="30" selection-start-column="20" selection-end-line="30" selection-end-column="20" />
<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="504">
<caret line="28" column="50" selection-start-line="28" selection-start-column="50" selection-end-line="28" selection-end-column="50" />
<folding>
<element signature="e#216#217#0" expanded="true" />
<element signature="e#260#261#0" expanded="true" />
</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">
@@ -690,45 +783,47 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/com/structix/Analyse.java"> <entry file="file://$PROJECT_DIR$/Beispieltext.txt">
<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="54">
<caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" /> <caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
<folding> <folding />
<element signature="imports" 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="504">
<caret line="28" column="50" selection-start-line="28" selection-start-column="50" selection-end-line="28" selection-end-column="50" />
<folding>
<element signature="e#1142#1143#0" expanded="true" />
<element signature="e#1182#1183#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<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="540"> <state relative-caret-position="1266">
<caret line="30" column="20" selection-start-line="30" selection-start-column="20" selection-end-line="30" selection-end-column="20" /> <caret line="103" column="5" selection-start-line="103" selection-start-column="5" selection-end-line="103" selection-end-column="5" />
<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="348">
<caret line="28" column="106" selection-start-line="28" selection-start-column="106" selection-end-line="28" selection-end-column="106" />
<folding>
<element signature="e#216#217#0" expanded="true" />
<element signature="e#260#261#0" expanded="true" />
</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="150">
<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="imports" expanded="true" /> <element signature="imports" expanded="true" />
<element signature="e#288#289#0" expanded="true" />
<element signature="e#324#325#0" expanded="true" />
<element signature="e#862#863#0" expanded="true" />
<element signature="e#903#904#0" expanded="true" />
</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="432"> <state relative-caret-position="378">
<caret line="24" column="0" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" /> <caret line="21" column="8" selection-start-line="21" selection-start-column="8" selection-end-line="21" selection-end-column="8" />
<folding /> <folding />
</state> </state>
</provider> </provider>

View File

@@ -18,6 +18,10 @@ public class Analyse {
public Analyse(String dateipfad) { public Analyse(String dateipfad) {
inhalt = dateilesen(dateipfad); inhalt = dateilesen(dateipfad);
textAnpassen(); textAnpassen();
//Initialisierung der globalen Variablen
verschiedenWoerter();
haeufigkeit();
} }
@@ -86,15 +90,34 @@ public class Analyse {
} }
} }
} }
String ausgabe = ""; return sortieren(einzelneWoerter, anzahl);
for (int i = 0; i < anzahl.length; i++) {
ausgabe += einzelneWoerter[i] + ": " + anzahl[i] + "\n";
}
return ausgabe;
} }
public String textausgabe() { public String textausgabe() {
return inhalt; return inhalt;
} }
private String sortieren(String woerter[], int anz[]) {
String tempstring;
int tempint;
for (int i = 1; i < woerter.length; i++) {
for (int z = 0; z < anz.length - i; z++) {
if (anz[z] < anz[z + 1]) {
tempint = anz[z];
anz[z] = anz[z + 1];
anz[z + 1] = tempint;
tempstring = woerter[z];
woerter[z] = woerter[z + 1];
woerter[z + 1] = tempstring;
}
}
}
String ausgabe = "";
for (int i = 0; i < anz.length; i++) {
ausgabe += woerter[i] + ": " + anz[i] + "\n";
}
return ausgabe;
}
} }

View File

@@ -12,13 +12,15 @@ package com.structix;
/* Bearbeitungszeit /* 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
*/ */
public class Main { public class Main {
public static void main(String[] args) { public static void main(String[] args) {
Menu m = new Menu(); Menu m = new Menu();
m.dateipfad(); m.debug();
//m.dateipfad();
while (!m.hauptmenu()); while (!m.hauptmenu());
} }
} }

View File

@@ -11,6 +11,12 @@ public class Menu {
Analyse an; Analyse an;
public void debug() {
an = new Analyse("Test.txt");
}
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);
@@ -20,7 +26,7 @@ public class Menu {
public boolean hauptmenu() { public boolean hauptmenu() {
boolean exit = false; boolean exit = false;
int auswahl = 0; int auswahl = 0;
auswahl = mbuilder.menuAnzeigen(new String[]{"Anzahl der Wörter", "Anzahl der verschiedenen Wörter", "Häufigkeit der verschiedene Wörter"}); auswahl = mbuilder.menuAnzeigen(new String[]{"Anzahl der Wörter", "Anzahl der verschiedenen Wörter", "Häufigkeit der verschiedene Wörter"}, "|");
switch (auswahl) { switch (auswahl) {
case 1: case 1:
ausgabe("Anzahl der Wörter: " + an.laenge()); ausgabe("Anzahl der Wörter: " + an.laenge());

View File

@@ -1,6 +1,5 @@
package com.structix; package com.structix;
import java.util.InputMismatchException;
import java.util.Scanner; import java.util.Scanner;
/** /**
@@ -15,19 +14,59 @@ public class Menubuilder {
ueberschrift = title; ueberschrift = title;
} }
public int menuAnzeigen(String items[]) { public int menuAnzeigen(String items[], String randzeichen) {
int maxlaenge = maximalwert(items);
int spaces;
String spacesString;
String ausgabe = ""; String ausgabe = "";
ausgabe += ueberschrift + "\n"; //---Trennstrich generieren---
String trennstrich = randzeichen;
for (int i = 0; i < maxlaenge + 1; i++) {
trennstrich += "-";
}
trennstrich += randzeichen;
ausgabe += trennstrich + "\n";
//---Trennstrich generieren---
//---Überschrift---
ausgabe += randzeichen + ueberschrift;
spaces = maxlaenge - ueberschrift.length();
spacesString = "";
for (int i = 0; i <= spaces; i++) {
spacesString += " ";
}
ausgabe += spacesString + randzeichen + "\n";
//---Überschrift---
//---Menüeinträge---
int eing = 0; int eing = 0;
for (int i = 0; i < items.length; i++) { for (int i = 0; i < items.length; i++) {
ausgabe += items[i] + ": (" + (i + 1) + ")\n"; spaces = (maxlaenge - 4 + (items.length / 10)) - items[i].length();
spacesString = "";
for (int z = 0; z < spaces; z++) {
spacesString += " ";
}
ausgabe += randzeichen + items[i] + ": (" + (i + 1) + ")" + spacesString + randzeichen + "\n";
} }
ausgabe += "Exit (" + (items.length + 1) + ")\n";
//---Exit Eintrag---
spaces = (maxlaenge - 4 + (items.length / 10)) - "Exit".length();
spacesString = "";
for (int z = 0; z <= spaces; z++) {
spacesString += " ";
}
ausgabe += randzeichen + "Exit (" + (items.length + 1) + ")" + spacesString + randzeichen + "\n";
System.out.print(ausgabe);
//---Exit Eintrag---
//---Menüeinträge---
//---Abfrage---
do { do {
System.out.print(ausgabe + "\nEingabe: "); System.out.print(randzeichen + "Eingabe: ");
eing = eingabeInt(); eing = eingabeInt();
} while (eing <= 0 || eing > items.length + 1); } while (eing <= 0 || eing > items.length + 1);
System.out.println(trennstrich);
//---Abfrage---
return eing; return eing;
} }
@@ -46,5 +85,22 @@ public class Menubuilder {
return input; return input;
} }
private int maximalwert(String items[]) {
int itemlaenge[] = new int[items.length];
for (int i = 0; i < items.length; i++) {
itemlaenge[i] = items[i].length();
}
int tempint;
for (int i = 1; i < itemlaenge.length; i++) {
for (int z = 0; z < itemlaenge.length - i; z++) {
if (itemlaenge[z] < itemlaenge[z + 1]) {
tempint = itemlaenge[z];
itemlaenge[z] = itemlaenge[z + 1];
itemlaenge[z + 1] = tempint;
}
}
}
return itemlaenge[0] + 4 + (items.length / 10);
}
} }