拆分没有空格的输入

时间:2015-02-07 03:02:58

标签: java input

我有一个看起来像ABABABAABA的输入,我想将输入分成单个字符,然后计算出现字母“A”和“B”的次数。这就是我到目前为止所拥有的

    import java.util.Scanner;

    Scanner str = new Scanner(System.in);
    String userInput = str.nextLine();

    userInput.split("");

在计算字母“A”和“B”的出现次数后,我该怎么办?

2 个答案:

答案 0 :(得分:0)

您将遍历字符串并使用“String.charAt(index)'读取字符。根本不需要拆分。)。

int countA = 0;
int countB = 0;

for(int index = 0; index < userInput.length(); index++)
{
    char c = userInput.charAt(index);

    if(c == 'A')
    {
        countA++;
    }
    else if(c == 'B')
    {
        countB++;
    }
    else
    {
        // some other character detected
    }
}

答案 1 :(得分:0)

你实际上并不需要拆分它,只需迭代它就足够了。然后,您可以使用地图来计算这样的事件:

 Scanner str = new Scanner(System.in);
 String userInput = str.nextLine();
 Map<Character, Integer> occ = new HashMap<>();
 for(char ch : userInput.toCharArray()) {
  if(!occ.containsKey(ch)) {
    occ.put(ch, 0);
  }
  occ.put(ch, occ.get(ch) + 1);
 }