2016-03-02 26 views
2

請我可以得到一些幫助。非常感謝:在Java中計算字符串中的字符

我想統計一行中*的數量。 當我嘗試編譯下面

import java.util.Scanner; 
/** 
* Write a description of class StarCount here. 
* 
* @author Damon 
* @version (a version number or a date) 
*/ 
public class StarCount { 

    public static void main(String[] args) { 
     Scanner keyboard = new Scanner(System.in); 
     int starCount = 0; 
     String input = keyboard.nextLine(); 
     while(!input.equals("#")){ 

      for(starCount=0; starCount<=input.length(); starCount++){ 
       if (input.charAt(starCount).equals('*')){ 
        System.out.println(starCount); 
       }//if 
      }//for 

     }//while 

    } //main 

} // class StarCount 

的代碼,但它出現

「字符不能被解除引用」

我已經花了近1.5小時關於這一點,我很困難。

任何幫助將非常感激。

回答

5

,顧名思義charAt返回一個字符,所以你需要使用==比較原始

if (input.charAt(starCount) == '*') { 
2

if (input.charAt(starCount).equals('*')){

在這一行不能使用equals方法的基本類型,比如CHAR。

所以要比較,你應該使用==運算符。

if (input.charAt(starCount) == '*'){