Java:有像charAt()这样的int方法吗?
我不希望“charAt(1);”返回字符串中位置1处的字符。。。我希望它报告“匹配=1;”的所有实例 例如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
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*