Buchstaben zählen < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:04 Di 27.11.2007 | Autor: | Reute |
Aufgabe | Hallo habe folgende Aufgabe:
1. Einlesen eines Textes von der Konsole. Dieser Text kann neben Buchstaben und Zahlen
auch Leerzeichen und die Sonderzeichen .,!?:;- enthalten.
2. Ausgabe der einzelnen Woöer des Textes. Ein Wort besteht dabei nur aus Buchstaben
und Zahlen, und darf nicht leer sein.
3. Ausgabe der Häufigkeit der einzelnen Buchstaben und Zahlen im Text, ohne Unterscheidung
nach Groß -und Kleinschreibung.
Zur besseren Strukturierung des Quelltextes sollte eure Klasse dabei aus den folgenden Methoden
bestehen. (Achtet darauf, dass die Methoden zusätzlich die Attribute public static
besitzen, um ohne Erzeugung einer Instanz der Klasse aufgerufen werden zu können.)
1.String getInput()
Liest einen Text von der Konsole ein.
2. void printStatistics( String string )
Gibt die Haugkeit der Buchstaben und Zahlen eines String auf der Konsole aus, ohne
Unterscheidung nach Groß-und Kleinschreibung.
3.) void main( String... args )
Dies ist die Hauptmethode, uber die das Programm ausgeführt wird. Sie ruft dabei die
anderen drei Methoden in geeigneter Form auf, und implementiert die noch fehlenden
Funktionalitäten.
Den anfang habe ich mal so geschrieben
public class Stringtest{
public static void main(String... args){
getInput();
}
public static String getInput( ){
String input = new String();
java.io.BufferedReader reader =
new java.io.BufferedReader( new java.io.InputStreamReader( System.in ) );
try{
input = reader.readLine();
System.out.println("Sie haben eingeben" + input);
}
catch ( Exception e ){
}
System.out.println( input );
return input;
}
} |
hier habe ich mal versucht den ersten Teil der Aufgabe zu programieren, jetzt weiß ich nicht wenn ich den quellcode übersetzte kommt keine Fehler heraus. Aber wenn ich die Methode getInput ausführe kommt eine endlosschleife, also wo muss ich denn meinen Beispiel Text eingeben??
Und habt ihr vielleicht einen tip wie ich die anderen Aufagebn teile hinbekomme??
|
|
|
|
Hallo,
> hier habe ich mal versucht den ersten Teil der Aufgabe zu programieren, jetzt weiß ich nicht wenn ich den quellcode übersetzte kommt keine Fehler heraus. Aber wenn ich die Methode getInput ausführe kommt eine endlosschleife, also wo muss ich denn meinen Beispiel Text eingeben??
Der Code funktioniert ja auch. Man muss nur etwas in die Konsole eingeben, RETURN drücken und schon wird eine schlecht formatierte Antwort ausgespuckt.
> Und habt ihr vielleicht einen tip wie ich die anderen Aufagebn teile hinbekomme??
printStatistics: Hier legst du dir vielleicht zwei int-Arrays an, eines für Zahlen (10 Elemente) und eines für Buchstaben (26 Elemente). Dann durchläufst du den ganzen String (zuerst mit toLowerCase() bearbeiten!) characterweise, geht mit charAt(i).
Hier prüfst du, ob das Zeichen im Bereich der Buchstaben oder der Zahlen liegt (mit <= und >=) und erhöhst ggf. den passenden Wert im betreffenden Array.
Am Ende die beiden Arrays ausgeben.
Ausgabe der einzelnen Wörter:
Hierzu kannst du mal einen Blick auf die Klasse StringTokenizer werfen. Damit lassen sich Strings unter Angabe von Trennzeichen aufspalten.
Stellt sich nur die Frage, ob man bei jedem Sonderzeichen (.,!?: auch aufspalten soll oder das Wort verwirft? Ist mir nach der Aufgabenstellung nicht ganz klar.
Was man sich auch fragen könnte: Was mache ich, wenn ein ganz anderes Zeichen (z.B. #) eingegeben wurde? Rausfiltern? Durch ein erlaubtes Zeichen ersetzen? Ganzes Wort verwerfen? Ganzen Text verwerfen?
Gruß
Martin
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:41 Mi 28.11.2007 | Autor: | Martin243 |
Hmmm, der Status der Frage war jetzt "unbeantwortet"? Komisch...
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:41 Mi 28.11.2007 | Autor: | Karl_Pech |
Hallo Martin,
> Hmmm, der Status der Frage war jetzt "unbeantwortet"?
> Komisch...
Ja, da hatte wohl Matux seine Finger mit im Spiel.
Aber in diesem Falle müßtest du auch eine PN von es bekommen haben?
[Dateianhang nicht öffentlich]
Dateianhänge: Anhang Nr. 1 (Typ: PNG) [nicht öffentlich]
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:04 Mi 28.11.2007 | Autor: | Martin243 |
Ja, ich habe eine PN bekommen.
Na ja, vorher hatte ich auch schon eine Fehlermeldung vom Server bekommen. So war mein Beitrag zwar rechtzeitig abgeschickt und übernommen worden, aber der Status war immer noch auf reserviert und die Frage noch unbeantwortet.
Ist mir vorher noch nie passiert, deshalb meine Verwunderung.
Gruß
Martin
|
|
|
|