不能使用数组只想打印出convert或convert在if语句后会说什么作为返回
无法使用.toCharArray
public static void main (String[] arg) {
System.out.println(ConvertToL33t("cow life" ));
}
public static String ConvertToL33t (String s)
{
String max= s;
System.out.println(max);
char convert = (char) s.toLowerCase().charAt(0);
for(int i = 0; i < max.length(); i++){
switch(convert){
case 'e':
convert = '3';
break;
case 'o':
convert = '0';
break;
case 'l':
convert = '1';
break;
case 't':
convert = '7';
break;
case 'a':
convert = '4';
break;
}
}
return convert;
字符串是不可变的,不能只替换同一字符串中的一个字母。您必须在前一个字符串的基础上构造一个新字符串。一种方法是迭代旧字符串中的每个字符,并将其添加到新字符串中,同时替换所需的字符。
建议使用StringBuilder
,因为使用常量串联会更有效率。
尝试以下方法:
StringBuilder sb = new StringBuilder();
for(char convert : s.toCharArray()){
switch(convert){
case 'e':
sb.append("3");
break;
case 'o':
sb.append("0");
break;
case 'l':
sb.append("1");
break;
case 't':
sb.append("7");
break;
case 'a':
sb.append("4");
break;
}
}
return sb.toString();