Java 转换返回语句中的打印输出字符

Java 转换返回语句中的打印输出字符,java,string,char,Java,String,Char,无法使用数组 只想打印出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(ma

无法使用数组 只想打印出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();

我无法解析第一行的英语。请重新措辞。我看不到if语句。。。你指的是开关吗?+1只回答所问的问题,剩下的作为学习经验:-我不能使用数组problem@user3015113:母舰不允许我在危及生命的情况下使用我的思维能力,对不起-事实上:你自己建造吧!循环字符串并使用charAt获取当前字符。基本上只要把你的帖子和我的答案结合起来就行了。