Java:有像charAt()这样的int方法吗?

Java:有像charAt()这样的int方法吗?,java,string,algorithm,int,charat,Java,String,Algorithm,Int,Charat,我不希望“charAt(1);”返回字符串中位置1处的字符。。。我希望它报告“匹配=1;”的所有实例 例如 int matching = 1; int notMatching = 0; int HI = matching; int IH = notMatching; int searchString = theString.charAt(notMatching); int count = 0; int index = 0; while (0 < theString

我不希望“charAt(1);”返回字符串中位置1处的字符。。。我希望它报告“匹配=1;”的所有实例

例如

int matching = 1;
int notMatching = 0;
int HI = matching;
int IH = notMatching; 
int searchString = theString.charAt(notMatching);

  int count = 0;
  int index = 0;

      while (0 < theString.length())
      {
      int  = theString.charAt(matching);
        if (theString.charAt(notMatching) == searchString)    
        {
        count = count + 1;
        }
        index = index + 1;
      }
int匹配=1;
int不匹配=0;
int HI=匹配;
int IH=不匹配;
int searchString=theString.charAt(不匹配);
整数计数=0;
int指数=0;
而(0
这不是一个很好的例子,但基本上是我想要的,或者这个程序应该做的是接受用户输入:

嗨嗨

并报告HI的实例,拼写为IH。。。因此,回报将是例如

System.out.println(“HI拼写为IH”+count+“times”)


编辑:“复制”对我没有帮助

您可以使用StringBuffer的反向方法以及模式和匹配器,如下所示:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class SearchReverseString {
    public static void main(String []args) {
        String str = "HIHIIH";
        String strToSearch = "HI";
        String strToSearchReversed = new StringBuffer(strToSearch).reverse().toString();
        Pattern strPattern = Pattern.compile(Pattern.quote(strToSearchReversed));
        Matcher matcher = strPattern.matcher(str);
        int counter = 0;
        while(matcher.find()) {
            ++counter;
        }
        System.out.println(strToSearch+" was spelt as "+strToSearchReversed+" "+counter+" times");
    }
}
输出为:

HI被拼写为IH 2次


请注意,在我的程序中,str表示输入字符串,strToSearch表示要按相反顺序搜索的字符串。Pattern.quote的使用确保了所有元字符都被自动转义。

那么您想计算子字符串的出现次数吗?也就是说,您想知道“IH”在字符串中出现的次数吗?有一个方法。这就是你想用的,你认为你能写一个例子吗?@Donnie看到我的答案了。它解决了你的问题。顺便说一句,你写的代码根本没有意义。我从你的代码段的编译器中得到了“找不到符号”错误。但是我得到了编译错误。那么,你是否导入了所需的类?我导入了“java.util.*”,如果这是你要问的话?模式和匹配器似乎不兼容我正在运行“java版本”1.7.0_60-ea“看起来你不明白导入是如何工作的。”导入java.util.*;'与“import java.util.regex.*;”不同使用我提供的导入或更改import语句来导入java.util.regex*