当前位置: 首页 > 知识库问答 >
问题:

Java-我如何使一个字符串读取并计算另一个字符串中的数量(

容飞掣
2023-03-14

我无法激活计数器++。到目前为止,s2能够读取s1,但不能计数出现的次数。如有任何帮助,我们将不胜感激。(我意识到我在错误的字符串中工作,但它帮助我首先在这里创建解决方案,然后将其发送到第二个字符串,这是不是很糟糕的逻辑?)

很抱歉问了这个愚蠢的问题,我对编程很陌生

//我需要一个扫描器来读取我所写内容,该扫描器应该计算一个字符的出现次数另一个扫描器声明的扫描器a会询问“write Something”字符串S。=nextline等新扫描器请求一个字母字符串s1=next line blb输入=something int count=StringUtils.countMatches(s1);System.Out.Print(金额)i//

public class Task07 {

    public static void main(String[] args) {

        Scanner s1 = new Scanner(System.in);
        System.out.println("write something");
        String text = s1.nextLine(); //reads user input value

        Scanner s2 = new Scanner(System.in);  // missing smth that limits length of s2  
        System.out.println("geb a letter");
        String letter = s2.nextLine();
        int counter = 0;
        boolean found;
        found = text.contains(letter);
        if (found == true) {
            counter++;
        } else {

            System.out.println(counter);
        }
    // could use counter from 6 here but need a way to tell counter 
        // that it should add +1 for every time something occurs in 
        // the other scanner

        /*
            Problems: text recognizer is boolean only
             - doesnt activate counter
             - doesnt activate counter based on X times occurence           
            - doesnt limit "letter" to only one char
            - 

         */
    }

}

共有1个答案

薛经艺
2023-03-14

基本上,循环是计算字符串中字符出现次数的简单方法。您可以使用类似于

int counter = 0;
for (int i = 0; i < text.length(); i++) {
    if (text.charAt(i) == letter.charAt(0)) {
        counter++;
    }
}
 类似资料:
  • 如何检查一个字符串是否在另一个字符串中,但匹配项需要在前面,而不是中间或最后。例如,a="

  • 我有两个字符串str1和str2。我试图用字符把一些字母从一个字符串复制到另一个字符串。我知道我可以使用字符串复制,但我想要一些字符,而不是全部字符。 在Java中,如何将子字符串从一个字符串复制到另一个字符串?

  • 例如: 字符串1=helloworld字符串2=asdfuvjerhelloworld 这应该是真的。 另一个例子:字符串1=helloworld字符串2=lshewodxzr 这也应该是真的。 所以我正在研究如何创建一个方法,它将返回一个布尔值,检查第二个字符串是否包含第一个字符串中的字母。在第二个示例中,string2只有一次字母l,尽管字母l在string1中出现了三次,但仍然返回true。

  • 问题内容: 我是Java的新手,为了实践起见,我试图创建一个十六进制到十进制的数字转换器,因为我已经成功地制作了一个二进制到十进制的转换器。 我遇到的问题基本上是将一个字符串中的给定字符与另一个字符串进行比较。这就是我定义要比较的当前字符的方式: 这是我尝试比较角色的方法: 当我尝试通过仅输入数字(例如12)来运行代码时,它可以工作,但是当我尝试使用“ b”时,会出现一个奇怪的错误。这是运行程序的

  • 我正在创建一个程序,在那里我必须阅读特殊的文本文件。我在将文本从指定的单词读入另一个指定的单词(不包括这些单词)时遇到问题。使用扫描仪是解决这个问题的好方法吗?我的意思是: “文本1 课文2 课文3 文本4 文本5“ 我想从它得到字符串与"文本2文本3文本4"。 我尝试使用useDlimeter,但我不知道如何将其应用于这种情况。我创建了一个允许我跳过行的方法,但从长远来看,这不是一个好的解决方案

  • 问题内容: 可以说我有这个单词列表: 比我有文字 是否有匹配stopWords并在忽略大小写时将其删除的方法;像这样的地方?: 结果: 如果您了解正则表达式,效果很好,但我真的更喜欢像Commons解决方案这样的东西,它更注重性能。 顺便说一句,现在我正在使用此通用方法,该方法缺少适当的不区分大小写的处理: 问题答案: 这是不使用正则表达式的解决方案。我认为它不如我的其他答案,因为它更长且不清楚,