如何计算字符串中的特定字母? 到目前为止,这是我的代码:
公共类主要{
public static void main(String args[]) {
Scanner sc = new Scanner (System.in);
System.out.println("Type in a word: ");
String str1 = sc.nextLine();
System.out.println("Type in a letter in the word you want to look for");
String str2 = sc.nextLine();
int count = 0;
for(char c : str1.toCharArray()) {
if(c == 0) {
count++;
}
}System.out.println("There are " + count + " " + str2 + " in the word " + str1);
}
显示为: 输入一个单词:hello
在您要查找的单词中输入字母:l
你好单词中有0 l
我的代码怎么了?
答案 0 :(得分:1)
将字符串转换为char数组,然后对其进行迭代以找出给定char的出现次数。
int count = 0;
for (char d : str1.toCharArray()){
if(d == c)
count++;
}
您还可以使用正则表达式查找计数。但随后您将无法使用nextLine().charAt(0)
,而必须使用next()
。
String c = sc1.next();
int count = 0;
Pattern pattern = Pattern.compile(c);
Matcher matcher = pattern.matcher(str1);
while (matcher.find())
count++;
最后将其打印出来。
System.out.println("There are " + count + " " + c + " in the word " + str1);
答案 1 :(得分:-2)
方法如下:当char匹配时,您可以循环遍历charArray和递增计数器。
public static void main(String args[]) {
String number = "hello";
int count = 0;
for(char ch : number.toCharArray()) {
if(ch == 'l') {
count++;
}
}
System.out.println(count);
}