Menu schließen

Java: TextEditor

Frage: Java: TextEditor
(36 Antworten)


Autor
Beiträge 19
0
Kann mir jemand bitte beim texteditor programmieren helfen ? Habe bisschen geschafft mehr komme ich leider nicht mehr weiter
Frage von Jor045 | am 28.09.2018 - 14:15


Autor
Beiträge 19
0
Antwort von Jor045 | 02.10.2018 - 15:23
Das wäre halt eine for schleife mit s.length


Autor
Beiträge 74
6
Antwort von Colirbi | 02.10.2018 - 15:24
Kannst du schon eine Vorschleife schreiben, welche alle buchstaben in dem String durchläuft?


Autor
Beiträge 74
6
Antwort von Colirbi | 02.10.2018 - 15:24
Jo dann schreib das doch schonmal auf, inklusive der Funktion. Von da aus machen wir dann stück für stück weiter


Autor
Beiträge 19
0
Antwort von Jor045 | 02.10.2018 - 15:25
For (int i =10; i<s.length; i++)?


Autor
Beiträge 19
0
Antwort von Jor045 | 02.10.2018 - 15:29
.


Autor
Beiträge 74
6
Antwort von Colirbi | 02.10.2018 - 15:30
Nein.

Die Parameter in der For-schleife sind:
i ist die Laufvariable, welche dir den aktuellen Standpunkt anzeigt.
i = 0 ist die initialisierung, also der Startwert. Wir wollen bei 0 anfangen und nicht bei 10.
s.length muss s.length() length() ist eine Funktion, daher muss () dahinter.
i++ heißt, dass nach jedem Durchlauf der Schleife i um 1 erhöht wird.

Das ganze jetzt noch in der Funktion:

public static int woerter(String s) {
for (int i = 0; i < s.length(); i++) {
}
return 123;
}


Autor
Beiträge 74
6
Antwort von Colirbi | 02.10.2018 - 15:31
Weißt du wie du nun auf die einzelnen Buchstaben im String zugreifen kannst?


Autor
Beiträge 19
0
Antwort von Jor045 | 02.10.2018 - 15:32
Und das wäre alles?😳


Autor
Beiträge 19
0
Antwort von Jor045 | 02.10.2018 - 15:32
Nein leider nicht


Autor
Beiträge 74
6
Antwort von Colirbi | 02.10.2018 - 15:32
Nein, natürlich nicht


Autor
Beiträge 19
0
Antwort von Jor045 | 02.10.2018 - 15:33
Wie macht man das?


Autor
Beiträge 74
6
Antwort von Colirbi | 02.10.2018 - 15:37
Ok, also.
In java kannst du auf die Buchstaben mit

s.charAt ( index ) zugreifen. Du möchtest jetzt wissen, ob dein aktueller Standort (i) ein Buchstabe, oder ein Leerzeichen ist.

https://docs.oracle.com/javase/tutorial/i18n/text/charintro.html
Dazu gibt es die folgenden Funktionen:
if (Character.isLetter(ch))
if (Character.isSpaceChar(ch))

s.charAt liefert dir einen Buchstaben, beim Programmieren auch Character oder char genannt. Du kannst also

if (Character.isLetter(s.charAt(i)) verwenden.

Jetzt haben wir ja eben festgestellt, dass du den String so lange durchläufst, und guckst, ob du aktuell einen Buchstaben, oder eine Leerzeile betrachtest. Bekommst du das in Code umgesetzt?


Autor
Beiträge 19
0
Antwort von Jor045 | 02.10.2018 - 15:38
Jaa Das muss man ja in forschleife reinschreiben


Autor
Beiträge 74
6
Antwort von Colirbi | 02.10.2018 - 15:40
Dann mach mal ;)


Autor
Beiträge 19
0
Antwort von Jor045 | 02.10.2018 - 15:42
public static int woerter(String s) {
for (int i = 0; i < s.length(); i++) {
if (Character.isLetter(s.charAt(i)) { ////
}
Else
return 123;
}


Autor
Beiträge 74
6
Antwort von Colirbi | 02.10.2018 - 15:53
ich meinte eigentlich auch, dass du versuchst zu gucken, ob es ein Buchstabe ODER eine Leerzeile ist. Aktuell würde der Code noch nicht funktionieren, weil das else einfach so in der Gegend rumsteht.

Da ich grade keine Zeit mehr habe hier die Abkürzung:
Du läufst alle Buchstaben durch, hast du einen Wechsel von Buchstabe zu Leerzeichen hast du ein Wort gefunden und musst das zählen.
Du musst dir also merken, ob du grade einen Buchstaben betrachtet hast. Das wird hier mit word gemacht.

Ist es das letzte Wort im String, so folgt darauf kein Leerzeichen. Du musst also gucken, ob es das letzte Zeichen im String ist, falls es ein Buchstabe ist, hast du auch hier wieder ein Wort gefunden.

public static int woerter( String s ) {

int wordCount = 0 ;
boolean word = false ;
int endOfLine = s . length () - 1 ;

for ( int i = 0 ; i < s . length (); i ++) {
// if the char is a letter, word = true.
if ( Character . isLetter ( s . charAt ( i ))) {
word = true ;
// if char isn`t a letter and there have been letters before,
// counter goes up.
} else if (! Character . isLetter ( s . charAt ( i )) && word ) {
wordCount ++;
word = false ;
// last word of String; if it doesn`t end with a non letter, it
// wouldn`t count without this.
} else if ( Character . isLetter ( s . charAt ( i )) && i == endOfLine ) {
wordCount ++;
}
}
return wordCount ;
}

Ich rate dir erstens ganz dringend diesen Code zu ändern, weil er englisch und deutsch mischt. Und zweitens einmal das Gespräch mit deinem Lehrer, bzw. Nachhilfe zu suchen.
Du hast nichtmal die Grundlagen verstanden, wenn du jetzt nicht dran bleibst bekommst du nur noch mehr Probleme.
Außerdem, google hilft. Der Code oben ist eines der ersten Suchergebnisse, die du findest wenn du nach java word count suchst. Daher noch wichtiger, dass du den Code änderst. Dein Lehrer wird das wohl kennen.

Verstoß melden
Hast Du eine eigene Frage an unsere Informatik-Experten?

44 ähnliche Fragen im Forum: 0 passende Dokumente zum Thema:
> Du befindest dich hier: Support-Forum - Informatik
ÄHNLICHE FRAGEN:
  • Java / Java editor
    hi, kann jemand mir seiten sagen wo ich java runterladen kann ? ich hab java runtergeladen haben damit kann ich nix machen und ..
  • JAVA
    wo kann ich java für windows vista runterladen und wo find ich den Textpad? lg
  • methoden in java
    kann mir jemand methoden in java erklären ich check das nämlich irgendwie net :// und wir schreiben darüber bald ne klausur ..
  • Java online lernen?
    Kann mir jemand eine gute Webseite empfehlen mit der man einfach und relativ schnell Java lernen kann? :)
  • Java
    Hallo Leute! Ich muss bei Java eine Umfrage programmieren und es muss mir nachher den Durschnitt angeben. Ich dachte an eine ..
  • Optimierung der Java-Implementierung
    Hallo Leute! Ich habe eine Hauaufgabe im Fach Informatik bekommen. Ich habe alle Aufgaben gemacht außer einer Aufgabe. Sie ..
  • mehr ...