【发布时间】:2014-03-20 06:04:04
【问题描述】:
我的程序应该计算用户输入的字符在字符串中出现的次数。出于某种原因,我的程序没有执行 for 循环。在它打印出“输入要搜索的字符串:”之后,它不允许我输入字符串并打印出:“在'(输入的字符串)'中有 0 次出现'(输入的字符)'。”在新线上。我需要它能够在作为字符串输入的任何给定数量的单词中找到该字符的出现。我该怎么做才能使其正常运行?谢谢。
import java.util.Scanner;
public class CountCharacters {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter a character for which to search: ");
char ch = input.next().charAt(0);
System.out.println("Enter the string to search: ");
String str = input.nextLine();
int counter = 0;
for (int i = 0; i < str.length(); i++) {
if (ch == str.charAt(i)) {
counter++;
}
}
System.out.printf("There are %d occurrences of '%s' in '%s'.", counter, ch, str);
System.out.println();
}
}
【问题讨论】:
-
另外,如果你有一个字符列表,你可以使用 Collections.frequency();一条线来完成你的工作:)
-
@devnull:谢谢,这应该会有所帮助。
-
@WhoAmI:我得试试看!
标签: java string for-loop character