2017-04-07 36 views
0

我有一串说法,长度是5000.我想知道使用字母'R'(区分大小写)的次数。以下是两种可通过的解决方案...找到一个字符串中的字符在java中重复多少次

  1. 转换为char数组,循环它以执行条件来检查和增加计数器。
  2. 使用带字符'R'的Substring()来获取可以读取数组的数组。因此,阵列+1的总长度会的次数,字符串中的“R”字(这是不是一个更好的解决方案)

帮助我卡上的有效的解决方案为这个。谢谢。

+0

有什么问题的第一个解决方案? – Kayaman

+0

循环String,然后使用String类的setCharAt(i)方法测试它是否为'R' – abcOfJavaAndCPP

+0

http://stackoverflow.com/questions/275944/java-how-do-i-count-the-number-链接中的字符串 - 链接应该提供很多方法 – Nandula

回答

0
String str = //the actual string 
for(int i=0;i<str.length();++i) 
{ 
    if(str.charAt(i)=='R') 
    { 
     capitalRCount++; 
    } 
} 
+0

这是传统的方式来检查......任何其他时尚的方式与最小的处理时间? –

+0

@VijayLMarcelin以及我准备的逻辑,因为它可以锻炼你的思维,当你知道逻辑时,你可以用你的逻辑来做,而不是使用许多类来适应。 – abcOfJavaAndCPP

+0

逻辑永远是受欢迎的...是否有任何特定于解决的API它进一步加快了处理时间。 –

2

如果您使用的是Java> = 8,你可以使用流:

public static void main(String args[]) { 
    String str= "abcderfgtretRetRotpabcderfgtretRetRotp" 
    System.out.println(str.chars().filter(c -> c == 'R').count()); 
} 
+0

太好了。谢谢!需要调查内部逻辑。 –

2

试试这个

String text = "ABCabcRRRRRrrr"; 
int count = text.length() - text.replace("R", "").length(); 
+0

谢谢@Pardeep。 –

相关问题