Zum Inhalt springen

Schwere Aufgabe bei Textstatistik mit Java-Drigend Hilfe


mausMiriam89

Empfohlene Beiträge

Hallo ihr lieben ;).

ich habe da ein Problem. Ich soll eine Textstatistik mit Java machen.

Der Text ist schon vorgegeben. In der Hinsicht also schon mal leicht(er) denke ich.

Es sollen im Endeffekt 3 .java Dateien sein.

Die erste soll "TextStatistic" heißen, die ich schon fertig habe und zwar:

public class TextStatistics {

public static void main(String [] arg) {

String textString = "Hier steht ein Text.";

Text txt = new Text(textString);

txt.printWordFreqStat();

}

}

Die zweite soll "Text" heißen und folgendes können:

In der Klasse Text gibt es folgende Attribute:

textString: der auszuwertende Text als String

numberOfWords: die Anzahl der im Text vorkommenden Wörter

distinctWords: ein String-Array für die Liste der unterschiedlichen Wörter

numberOfDistinctWords: die Anzahl der unterschiedlichen Wörter (die Länge von distinctWords)

frequencies: ein int-Array für die Liste der absoluten Häufigkeiten

In der Klasse Text gibt es folgende Methoden:

Text( String txt): der Konstruktor, in dem bei der Erzeugung eines Text-Objekts die Auswertung in folgenden Schritten vorgenommen wird:

Umwandlung von textString in einen String-Array

Bestimmung von numberOfWords als Länge des String-Array

Erzeugung des distinctWords-Array

Bestimmung von numberOfDistinctWords als Länge des distinctWords-Array

Erzeugung des frequencies-Array

Parallele Sortierung der beiden Arrays distinctWords und frequencies

printWordFreqStat(): zur Ausgabe der Häufigkeitsstatistik

Die dritte Datei soll "SelectionSort" heißen.

Mit folgenden Methoden:

int minIndex( String[] a, int i0): die Hilfsfunktion, die für einen gegebenen String-Array a ab dem Index i0 den Index mit dem alphabetisch minimalen Element liefert

int maxIndex( int[] a, int i0): die Hilfsfunktion, die für einen gegebenen Ganzzahl-Array a ab dem Index i0 den Index mit dem maximalen Element liefert

void swap( String[] a, int i, int j): die Hilfsprozedur, die in dem String-Array a die Elemente mit den Indexwerten i und j vertauscht

void swap( int[] a, int i, int j): die Hilfsprozedur, die in dem Ganzzahl-Array a die Elemente mit den Indexwerten i und j vertauscht

void selSort( String[] a): zum Sortieren des String-Arrays a

void selSort( String[] sa, int[] ia): die Sortierprozedur, die den String-Array sa sowie den Ganzzahl-Array ia parallel sortiert

Benötigte vordefinierte Methoden/Funktionen

strVar.indexOf( strExpr) liefert die Positon von strExpr in strVar

strVar.charAt( numExpr) liefert das Zeichen innerhalb von strVar mit der Position numExpr

strVar.substring( begin, end) liefert den Teilstring, der mit der Position begin anfängt und mit end aufhört

strVar.split(" ") konvertiert den String strVar in einen Array derjenigen Teilstrings, die sich durch Leerzeichen voneinander getrennt in strVar befinden

strVar.toLowerCase() konvertiert den String strVar in Kleinbuchstaben

So...das habe ich schon (bitte nicht lachen ;) :

1. Datei (ok denke mal ist richtig) OK

2. Datei

public class Text (String txt)

{

private String textString[]

{

String[] splitArray = textString.split(" ");

}

private Int numberOfWords[]

{

int worte = splitArray.length;

}

private String distinctWords[]

{

}

private Int numberOfdistinctWords[]

{

int distinctwords = distinctArray.length;

}

private Int frequencies[]

{

}

public Text (String s)

{

this.text =s;

}

public void printWordFreqStat() {

System.out.println (this.textString);

}

Text txt = new SelectionSort(textString);

}

3.Datei

public class SelectionSort {

private int minIndex (String[]a, int i0){

int index = 0;

return index;

}

private int maxIndex (String[]a, int i0){

int index = 0;

return index;

}

private void swap (String[]a, int i, int j);

private void swap (Int[]a, int i, int j);

}

Kann mir bitte jemand bei dieser Aufgabe helfen. Ich sehe einfach nicht mehr durch.

Vielen Dank schon mal an alle die sich Zeit für mich opfern.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also das was ich geschrieben habe veränder ich gleich mal, damit das besser lesbar wird.

@Faustenator

ja das Problem=die Aufgabe ;)

Denn wir haben zuerst mit Javascript angefangen und sollten auch so eine Textstatistik machen. Und da habe ich bestimmt ingesamt 10 Stunden dran gesessen und nix hinbekommen. Und nun sollen wir den Aufbau mit übernehmen in dieser Java-Aufgabe.

Und zur "Einführung in Java", haben wir jetzt diese Aufgabe aufbekommen. Sprich aus einer vorherigen Javascript aufgabe, das gleich nur jetzt mit Java.

Und ich habe das unter Javascript schon nicht verstanden. Und ich soll das jetzt aber unter Java hinbekommen. Und da der Aufbau mir so kompliziert erscheint weiß ich gar nicht wo ich anfangen soll und laut Aufgabenstellung auch gar nicht wie das alles gemeint ist. Und das alles muss ich bis Sonntag checken. Weil da muss ich die Abgeben. Habe mir zwar schon Bücher ausgeliehen für Java-Anfänger. Aber die helfen mir bei dieser Aufgabe irgendwie nicht. Oder ich bin zu blöd. Daher hoffe ich mal das andere mir das besser Erklären können mit eigenen Worten was da überhaupt abläuft.

EDIT: wieso kann ich mein Anfangspost nicht ändern? Da steht kein "Ändern"-Button mehr :(

Bearbeitet von mausMiriam89
Link zu diesem Kommentar
Auf anderen Seiten teilen

Aber deine Hausaufgaben machen wir hier sicherlich nicht. Hier gibt es schon einige Threads wo Stundensätze genannt wurde wenn wir das machen sollten.

Die Aufgabe fällt doch nicht vom Himmel hier ist doch sicherlich ein Kurs vorausgegangen. Ein Trainer wird sicherlich auch für Rückfragen zur Verfügung stehen.

Wenn du im JavaScript schon nicht zurecht gekommen bist wieso hast du dann nicht im Kurs Fragen gestellt die deine Probleme lösen. Denn in meinen Augen hast du noch nicht mal eine grobe Vorstellung von dem was du da machen sollst. Die Programmiersprache ist eigentlich egal.

Löse dich mal von einer konkreten Sprache und zeichne Struktogramme oder erstelle Pseudocode für die eigentliche Logik. Dann kannst du dir mal Gedanken über die Verkettung der einzelnen Schritte machen.

Wenn dir das klar ist dann kannst du dich in die Syntax der eigentlichen Sprache vertiefen und das Programm implementieren.

Wenn du konkrete Fragen hast kannst du sie hier stellen aber deine Aufgabe wird keiner machen zumal es dir nicht mal was bringt. Du hast den Kurs vielleicht bestanden aber Verstanden und anwenden kannst du davon nichts.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...