2017-10-24 6 views
-1

Ich versuche, ein Wortzahl-Programm zu erstellen, ohne split() verwenden zu müssen. Okay, bevor Sie mir sagen, dass dies ein Duplikat ist. I kennen. die andere Lösung war nicht sehr spezifisch für mich, da sie die Add-Methode verwenden.Kann Symbol nicht finden - Anzahl der Methoden (java.lang.string)

public static void findWord() 
{ 
    Scanner input = new Scanner(System.in); 

    System.out.println("Enter a sentence"); 
    String sentence = input.nextLine(); 
    int numOfWords = count(sentence); 

Hier kommt die Zählung als Fehler auf.

System.out.println("input: " + sentence); 
    System.out.println("number of words: " + numOfWords); 
} 
+0

Welchen Fehler sehen Sie? Bitte geben Sie einen [MCVE] an. – astidham2003

Antwort

0

Wie Stefan erwähnt, sind Sie ein count Verfahren (wie das ist, was Sie zu nennen versuchen, wenn Sie count(sentence); sagen)

Etwas andere Antwort hier, wie Sie nicht split() gebeten, verwenden

public static int count(String s) { 
     int count = 1; //to include the first word 
     for (int i = 0; i < s.length(); i++) { 
      if (s.charAt(i) == ' ') { 
       count++; 
      } 
     } 
     return count; 
    } 

Ein besserer Weg es zu tun, wenn Leerzeichen ein Problem ist:

StringTokenizer st = new StringTokenizer(sentence); 
System.out.println(st.countTokens()); 
0

Sie benötigen eine count Methode. Dies ist ein einfaches Beispiel:

public int count(String sentence) { 
    return sentense.split(" ").length; 
} 

sentense.split(" ") die sentence aufgeteilt, wo es Leerzeichen sind, und ein Array von Strings ("hello world" wird {"hello", "world"}).

.length wird die Anzahl der Elemente im Array zurückgeben, was in diesem Fall die Anzahl der Wörter ist.

Verwandte Themen