Java for循环查找字符串中的辅音

Java for循环查找字符串中的辅音,java,string,for-loop,Java,String,For Loop,使用for循环,如何在字符串大写中生成所有辅音 我想我应该这样做: String str = "fish$" String strConsonants = "f, s, h"; for (int x = 0; x < str.length(); x++) { if(((str.charAt(x) == (strConsonants)) { System.out.print("FiSH$");

使用for循环,如何在字符串大写中生成所有辅音

我想我应该这样做:

    String str = "fish$"     

    String strConsonants = "f, s, h"; 

    for (int x = 0; x < str.length(); x++) 
    {
       if(((str.charAt(x) == (strConsonants))
       {
          System.out.print("FiSH$");
       }
    }
String str=“fish$”
字符串strConsonants=“f,s,h”;
对于(int x=0;x
使用中的String.contains()方法。以下代码适用于您当前的输入。通常,如果要查找所有辅音,请使用辅音的char[]或包含所有辅音的字符串,然后进行检查

String str = "fish$";     
String strConsonants = "f, s, h"; 
String temp="";
for (int x = 0; x < str.length(); x++){
temp+= str.charAt(x);   
   if(!strConsonants.contains(temp)) {
    consonentsUCase+=temp.toUpperCase();
   }
   temp="";
}
String str=“fish$”;
字符串strConsonants=“f,s,h”;
字符串temp=“”;
对于(int x=0;x
您可以使用

String元音=“aeiouAEIOU”;
char[]charArr=str.toCharArray();//将字符串转换为char数组
对于(inti=0;i我刚刚写了它

产量:鱼$

适用于任何单词!;)

API方法:
printStringWithUpperConsonant

   import java.util.HashSet;
   import java.util.Set;

   public class ConsonantUtils {

        private Set<Character> vowels = getVowels();

        private String analysedString;

        public ConsonantUtils(String analysedString) {
            this.analysedString = analysedString;
        }

        public static void main(String[] args) {
            new ConsonantUtils("fish$").printStringWithUpperConsonant();
        }

        public void printStringWithUpperConsonant() {
            for (int i = 0; i < getAnalysedString().length(); i++) {
                printChar(getCurrentChar(i));
            }
        }

        private char getCurrentChar(int i) {
            return getAnalysedString().charAt(i);
        }

        private void printChar(char currentChar) {
            if (isConsonant(currentChar)) {
                System.out.print(makeCharUpperCase(currentChar));
            }
            else{
                System.out.print(currentChar);
            }
        }

        private Set<Character> getVowels() {
            Set<Character> vowels = new HashSet<Character>();
            vowels.add('a');
            vowels.add('e');
            vowels.add('i');
            vowels.add('o');
            vowels.add('u');
            return vowels;
        }

        private char makeCharUpperCase(char character) {
            return Character.toUpperCase(character);
        }

        private boolean isConsonant(char currentChar) {
            return !vowels.contains(currentChar);
        }

        private String getAnalysedString(){
            return analysedString;
        }
    }
import java.util.HashSet;
导入java.util.Set;
公共类辅音{
私有集合元音=getVowels();
私有字符串解析字符串;
公共辅音符号(字符串分析字符串){
this.analysedString=analysedString;
}
公共静态void main(字符串[]args){
新的辅音符号(“fish$”).printStringWithUpperConsonant();
}
public void printStringWithUpperConsonant(){
对于(int i=0;i
这对我很有用:

     List<Character> constants = Arrays.asList('f', 's', 'h');
     String str = "fish$";

     for (Character c : constants) {             
           str = str.replace(c, Character.toUpperCase(c));
      }
List常量=数组.asList('f','s','h');
String str=“fish$”;
对于(字符c:常量){
str=str.replace(c,Character.toUpperCase(c));
}

使用一个
char[]
辅音数组,并在测试字符串中检查每个字母是否包含在这样的数组中。最好使用@phemios,它会将整个字符串更改为大写,而不仅仅是辅音。string.contains()需要charsequence,您试图传递一个char。这会导致编译器错误:方法包含类型字符串中的(CharSequence)不适用于参数(char)@chaitanya10:感谢您指出。
indexOf
应该可以用。:)
String str = "fish$";   
String strVowels = "aeiouAEIOU";
String out = "";

for (Character c : str.toCharArray()) 
{
    if(!strVowels.contains(""+c))
    {
        out = out + Character.toUpperCase(c);
    }
    else
    {
        out = out + c;
    }
}
System.out.println(out);
     List<Character> constants = Arrays.asList('f', 's', 'h');
     String str = "fish$";

     for (Character c : constants) {             
           str = str.replace(c, Character.toUpperCase(c));
      }