Java:每次显示一个字母时如何计数

时间:2014-11-05 05:54:03

标签: java

我试图在每次显示特定字母时将程序设为1。所以如果输入AAAA,我希望它显示A:4。我已经在这方面工作了几个小时,但我无法让它工作。如果没有阵列,还有什么方法可以做到这一点吗? 这是我目前的代码。

    public static void main(String[] args) {
     Scanner kb = new Scanner(System.in);
     String A;
     String B;
     A = kb.nextLine();
     System.out.println("Person A: Please enter your amount of wins");
     B = kb.nextLine();
     System.out.println("Player B: Please enter your amount of wins");
     kb.nextLine();
     if()
} //main

3 个答案:

答案 0 :(得分:1)

希望这对你有用

    public static void main(String[] args) {

         Scanner kb = new Scanner(System.in);
         System.out.println("Enter Player A value");

         String A = kb.nextLine();
         calsi(A); 

         System.out.println("Enter Player B value");
         String B = kb.nextLine();
         calsi(B); 
    }

    public static void calsi(String cmdVal){

        if (cmdVal.length()>0) { 
            String firstletter=cmdVal.substring(0,1);
            System.err.println(firstletter+":"+cmdVal.length());
        }else{
            System.err.println("No input has given"); 
        }
    }

答案 1 :(得分:0)

如果你使用番石榴,它很简单;使用CharMatcher

例如,对于匹配字符A,您需要创建:

private static final CharMatcher UPPERCASE_A = CharMatcher.is('A');

然后你使用:

UPPERCASE_A.countIn(yourInput)

计算AyourInput的出现次数。

否则,对字符串的简单循环将为您完成。如果是Java 8,则可以使用.chars()

答案 2 :(得分:0)

您可以尝试使用此代码。但是在这里,数组用于存储一行的所有字符。

public static void main(String [] args){

    Scanner kb = new Scanner(System.in);
    String A = kb.nextLine();
    char[] chars = A.toCharArray(); 
    int count=0;
    for(int i=0;i<chars.length;i++){
        if(chars[i]=='A'){
            count++;
        }
    }

    System.out.println(count);
    return;
}