Java 修饰语
字符串的元素是城镇名称,以大写字母开头。填写字符串的元素(不超过50个)。获取包含字母“e”2、3或4次且不包含字母“p”的所有城镇的结果 我不知道如何编写一个代码来查找至少有两个“e”而没有“p”的单词Java 修饰语,java,Java,字符串的元素是城镇名称,以大写字母开头。填写字符串的元素(不超过50个)。获取包含字母“e”2、3或4次且不包含字母“p”的所有城镇的结果 我不知道如何编写一个代码来查找至少有两个“e”而没有“p”的单词 公共类{ 静态字符串[]towns={“БСааа”、“Ааааа”、“Бааааа”、“Баааа”; 公共静态void main(字符串[]args){ 对于(int i=0;i你可以得到这样一个字母的出现次数 int count = StringUtils.countMatches(
公共类{
静态字符串[]towns={“БСааа”、“Ааааа”、“Бааааа”、“Баааа”;
公共静态void main(字符串[]args){
对于(int i=0;i你可以得到这样一个字母的出现次数
int count = StringUtils.countMatches( yourString, "e");
所以,检查它是2、3还是4
您必须对字符串数组中的所有字符串执行此操作
所以您需要一个Foreach
foreach (String s in towns)
{
int count = StringUtils.countMatches( s, "e");
int countP = StringUtils.countMatches( s, "p");
if( (count == 2 || count == 3 || count == 4 ) && countP != 0 )
System.out.println(s);
}
您在前面的评论中对int e=0的想法是正确的
for (int i=0; i<towns.length; i++){
if(!towns[i].contains("p")){
int e=0;
for (int j=0; j<towns[i].length; j++){
if(towns[i].charAt(j) == 'e' || towns[i].charAt(j) == 'E'){
e++;
}
}
if(e>1 && e<5){//This is assuming you don't want to print cities with more than 4 E's
System.out.println(towns[i]);
}
}
}
for(int i=0;iStackOverflow不是一个你把你的家庭作业留给别人做的地方。公共类Пжжж4ж{static String[]towns={“Пааааа”、“Ааааааааааааааааа”镇(int i=0;iI建议您不要在类名中使用非ASCII字符-如果您在不同平台上编译,并且不考虑默认编码,这将给您带来无尽的问题…请将您现有的代码放在问题中,这样我们就可以看到您拥有的代码,并给出一些提示,引导您找到正确的方向改善你的问题的方法:改变标题。比如“过滤单词”或者任何描述实际问题的东西。然后移除所有关于你学习的锅炉板:比如“我被家庭作业卡住了,这就是我到目前为止所做的:”这就足够了。没有人关心这个练习是否简单……最后:试着在你的帖子中放一些可以编译和运行的代码,并在你被卡住的地方放一条评论。否则,我们必须先修复你的程序,然后再实际调查你的问题。我希望你能了解如何使用这种方法提问一个好问题,佩哈psint-count=StringUtils.countMatches(s,“e”);
应该改为int-count=StringUtils.countMatches(s.toLowerCase(),“e”);
以适应偶尔出现的国会大厦e。此外,在检查“p”
时也是这样。嘿,谢谢你的帮助。我尝试了你展示的方式,但不起作用。当我使用towns[I].length(如果我删除[I],它只显示成功的建造,没有任何结果)它显示它找不到符号.Ty,并且为不恰当的地方感到抱歉:)@stockholm,嗯,这很奇怪。不过,别忘了国会大厦E和P也有可能,比如你的第一个城镇“ааа”由于计算了2个e,所以仍然打印,但其他案例可能没有相同的情况。
for (int i=0; i<towns.length; i++){
if(!towns[i].contains("p")){
int e=0;
for (int j=0; j<towns[i].length; j++){
if(towns[i].charAt(j) == 'e' || towns[i].charAt(j) == 'E'){
e++;
}
}
if(e>1 && e<5){//This is assuming you don't want to print cities with more than 4 E's
System.out.println(towns[i]);
}
}
}