有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

替换字符串中的相应字符(java)

任务是:编写操作并返回String的静态函数

public static String tr(String s, String from, String to)

此方法返回一个String,其中s中出现在from中的所有字符都被to中相应的(在相同位置)字符替换。为了使这一点有意义,在from中的所有字符必须是不同的,并且fromto应该具有相同的长度。例如,如果from是“abc”而to是“XXY”,则所有出现的“a”和“b”都应替换为“X”,而“c”则替换为“Y”

结果来自

System.out.println(tr("November 2016", "abcdefghijklmnopqrstuvwyz", "ABCDEFGHIJKLMNOPQRSTUVWYZ"));

System.out.println(tr("abcXYZ","aZcX","||Cx"));

应分别为2016年11月和| bCxY |

这是我的密码。我甚至不能正确地编译它。谁能帮我看看吗

public static String tr(String s, String from, String to) {
    for (int i = 0; i < s.length(); i++) {
        if s.charAt(i) == from.charAt(i) {
            s = s.replace(s.charAt(i), to.charAt(i));
        }
    }
    return s;
}

共 (1) 个答案

  1. # 1 楼答案

    if语句需要括号

    if (s.charAt(i) == from.charAt(i))
    

    注意已检查您的逻辑

    你的逻辑应该是正确的

    for (int i = 0; i < s.length(); i++) {
    
        int idexof = from.indexOf(s.charAt(i));
        if (idexof != -1) {
            s = s.replace(s.charAt(i), to.charAt(idexof));   
        }
    
    }
    return s;