请给我一些帮助。非常感激:

我想计算一行中* s的数量。
当我尝试编译以下代码时

    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个小时来做​​这件事,但我感觉非常棘手。

任何帮助将不胜感激。

最佳答案

顾名思义charAt返回一个字符,因此您需要使用==比较原始

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

关于java - 用Java计算字符串中的字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35737337/

10-12 12:23