21xrx.com
2024-09-19 09:01:58 Thursday
登录
文章检索 我的文章 写文章
计算一段字符串中某个字符的个数。这个问题让我思考了一下,我知道Java有自带的方法可以完成这个任务,但是我想看看自己能否写出代码来。
2023-06-15 00:22:52 深夜i     --     --
Java 字符串 计算字符个数

我在学习Java的时候,遇到了一个

首先,我定义一个字符串和一个字符。比如:

String str = "Hello world!";

char c = 'l';

接下来,我使用for循环,遍历字符串中的每个字符,并统计字符个数。如下所示:

int count = 0;

for(int i = 0; i < str.length(); i++){

 if(str.charAt(i) == c){

  count++;

 }

}

这段代码的作用就是遍历字符串“Hello world!”中的每个字符,如果遇到字符‘l’,就把计数器count加1。最后,count的值就是字符串中字符‘l’的个数。

接下来,我想尝试一下使用Java的自带方法来解决这个问题。我使用String类中的方法:indexOf()和substring()。如下所示:

int count2 = 0;

int index = str.indexOf(c);

while(index >= 0){

 count2++;

 index = str.indexOf(c, index + 1);

}

这段代码的作用就是先使用indexOf()方法找到字符串中第一个字符‘l’的位置,然后使用一个while循环不断找到下一个字符‘l’的位置,直到没有找到为止。在这个过程中,每找到一个字符‘l’,就把计数器count2加1。

最后,我比较了一下这两种方法的效率。使用for循环的方法需要遍历整个字符串,复杂度为O(n),而使用indexOf()方法则只需要遍历到每个字符‘l’的位置,复杂度为O(m),其中m为字符‘l’的个数。因此,对于较短的字符串,使用for循环的方法可能更快一些,而对于较长的字符串,使用indexOf()方法的效率更高。

综上所述,我学习了Java中计算字符串中某个字符的个数的两种方法,并对它们的效率进行了比较。这次经历让我更加了解了Java的字符串操作,并且锻炼了自己的编程能力。

标题:Java中计算字符串中某个字符的个数

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复