Java for循环查找字符串中的辅音
使用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$");
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));
}