Java 从字符串变量中计算字符的索引

Java 从字符串变量中计算字符的索引,java,string,variables,indexof,Java,String,Variables,Indexof,我目前正在做一个Java练习。我正在尝试计数字符串变量中的字符实例,该变量使用JOptionPane输入,并使用indexOf计数。到目前为止,我有这个,但它不起作用,因为计数回来时,该字符类型的字母数是错误的 String input_text; input_text = JOptionPane.showInputDialog("Write in some text"); System.out.println("Index of e in input_text: "+input_te

我目前正在做一个Java练习。我正在尝试计数
字符串
变量中的字符实例,该变量使用
JOptionPane
输入,并使用
indexOf
计数。到目前为止,我有这个,但它不起作用,因为计数回来时,该字符类型的字母数是错误的

String input_text;     
input_text = JOptionPane.showInputDialog("Write in some text");
System.out.println("Index of e in input_text: "+input_text.indexOf('e'));
然后,用户需要猜测他们编写的字符串中的正确字母数。我为此尝试了各种方法,但我被卡住了

字符串函数在这里不能作为问题的解决方案,因为它旨在为您提供所需子字符串(本例中为特定字符)第一次出现的索引

您需要循环遍历字符串中的字符,并计算与特定字符的匹配数

String input_text;     
input_text = JOptionPane.showInputDialog("Write in some text");
System.out.println("Index of e in input_text: "+ getMatchCount(input_text, 'e'));

int getMatchCount(String input, char charToMatch) {
    int count = 0;
    for(int i = 0; i < input.length(); i++) {
        if(input.charAt(i) == charToMatch) {
            count++;
        }
    }
    return count;
} 
字符串输入\文本;
input_text=JOptionPane.showInputDialog(“写入一些文本”);
System.out.println(“输入文本中的e的索引:+getMatchCount(输入文本,'e'));
int getMatchCount(字符串输入,字符图表匹配){
整数计数=0;
对于(int i=0;i
您还可以直接使用Apache Commons StringUtils函数

此外,如果您希望在输入字符串中查找多个(不同)字符的计数,则可以为输入字符串中存在的每个字符创建一个出现计数映射,这样,当询问不同字符的匹配计数时,您就不必反复遍历整个字符串

String input_text;     
input_text = JOptionPane.showInputDialog("Write in some text");
System.out.println("Index of e in input_text: "+ getMatchCount(input_text, 'e'));

int getMatchCount(String input, char charToMatch) {
    int count = 0;
    for(int i = 0; i < input.length(); i++) {
        if(input.charAt(i) == charToMatch) {
            count++;
        }
    }
    return count;
} 
感谢所有的评论,我已经设法解决了这样的角色循环

publicstaticvoidmain(字符串[]args){
String s1=“这是一个句子”;
char ch=s1.charAt(s1.indexOf('e'));
整数计数=0;

对于(int i=0;i您知道
indexOf
的作用吗?您希望字符串“java_exercise”的索引“e”是什么?写一个循环,比较字符串中的每个字符,看看它是否匹配您要查找的字符。1)为了更快地获得更好的帮助,请发布或。硬代码a
字符串
以进行测试。选项窗格是不相关的。2)输入的是什么
字符串
?您希望输出的是什么?为什么会这样?实际输出与预期有何不同?选项窗格非常相关,因为用户需要通过某种输入方式输入字符串介面。这是练习所要求的。Indexof在这里不起作用,因为它旨在找出指定字符的索引,而不是字符出现的总次数。我目前没有一个代码示例在这里会有帮助。因此,我的问题是一些示例,以便我可以解决这个问题。