Java 修饰语

Java 修饰语,java,Java,字符串的元素是城镇名称,以大写字母开头。填写字符串的元素(不超过50个)。获取包含字母“e”2、3或4次且不包含字母“p”的所有城镇的结果 我不知道如何编写一个代码来查找至少有两个“e”而没有“p”的单词 公共类{ 静态字符串[]towns={“БСааа”、“Ааааа”、“Бааааа”、“Баааа”; 公共静态void main(字符串[]args){ 对于(int i=0;i你可以得到这样一个字母的出现次数 int count = StringUtils.countMatches(

字符串的元素是城镇名称,以大写字母开头。填写字符串的元素(不超过50个)。获取包含字母“e”2、3或4次且不包含字母“p”的所有城镇的结果

我不知道如何编写一个代码来查找至少有两个“e”而没有“p”的单词


公共类{
静态字符串[]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字符-如果您在不同平台上编译,并且不考虑默认编码,这将给您带来无尽的问题…请将您现有的代码放在问题中,这样我们就可以看到您拥有的代码,并给出一些提示,引导您找到正确的方向改善你的问题的方法:改变标题。比如“过滤单词”或者任何描述实际问题的东西。然后移除所有关于你学习的锅炉板:比如“我被家庭作业卡住了,这就是我到目前为止所做的:”这就足够了。没有人关心这个练习是否简单……最后:试着在你的帖子中放一些可以编译和运行的代码,并在你被卡住的地方放一条评论。否则,我们必须先修复你的程序,然后再实际调查你的问题。我希望你能了解如何使用这种方法提问一个好问题,佩哈ps
int-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]);
        }
    }
}