2013-09-17 4 views
-3
import java.io.*; 
import java.util.Scanner; 
import java.lang.*; 
class WordCount{ 
static String word; 
public static void main(String args[]) 
{ 
    int count=0; 
    Scanner in=new Scanner(System.in); 
    System.out.println("Enter the sentence"); 
    word=in.nextLine(); 
    for(int i=0;i<word.length();i++){ 
     if(i!=word.length()) 
     if(word.charAt(i)==' ' || word.charAt(i)!='.' && isNotSpace(word,i)) 
     { 
      count++; 
     } 
    } 
    System.out.println("The number of words in the sentence are : " +count); 
} 
static boolean isNotSpace(String word,int i) 
{ 
    if(word.charAt[i+1]!=' ') 
     return true; 
    else 
     return false; 
} 
} 

Здесь я объявила статическую переменную, называемую словом, и вызвала метод «isNotSpace», передав переменную слова из основного метода. Но я получаю сообщение об ошибке в методе «isNotSpace»:не может найти символ в моей программе java wordcount

WordCount.java:23: error: cannot find symbol 
     if(word.charAt[i+1]!=' ') 
      ^
    symbol: variable charAt 
    location: variable word of type String 
1 error 
+1

Тест 'if (i! = Word.length()) бесполезен, поскольку цикл останавливается раньше. –

+0

Большая TYPO - вы написали 'word.charAt (i)' пару строк над 'word.charAt [i + 1]' и до сих пор не можете понять проблему, Положите некоторое усилие, которое поможет вам только – exexzian

+0

Этот вопрос появляется быть вне темы, потому что это опечатка. –

ответ

6

У вас есть опечатка по внешнему виду. Вы хотите:

word.charAt(i+1) // parentheses, not brackets. 

Вы также можете найти свой код намного проще читать и иметь дело с тем, если вы положили некоторые пробелы вокруг операторов. Я нахожу, что гораздо легче заметить небольшие ошибки, подобные этому. например

if (word.charAt(i + 1) != ' ') 
Смежные вопросы