[英]Replacing corresponding characters in Strings (java)
任务是:编写静态函数操作并返回String
s
public static String tr(String s, String from, String to)
该方法返回一个String
,其中来自所有字符s
存在于from
由相应的(在相同的位置)字符替换从to
。 为此, from
所有字符都必须不同,并且from
和to
的长度应该相同。 例如,如果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;
}
你的 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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.