我有一个看起来像ABABABAABA
的输入,我想将输入分成单个字符,然后计算出现字母“A”和“B”的次数。这就是我到目前为止所拥有的
import java.util.Scanner;
Scanner str = new Scanner(System.in);
String userInput = str.nextLine();
userInput.split("");
在计算字母“A”和“B”的出现次数后,我该怎么办?
答案 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);
}