【发布时间】:2020-06-02 10:34:25
【问题描述】:
我想把一个字符串中的一个字符换成第二个字符串中的另一个字符,距离是3。
例如:
字符串 s1:abc,
字符串 s2:abcdef->s2 将是 abadef 然后 -> abadeb。
如果可能的话,第一个字符串中的所有字符都应该转到第二个 s2。不得不提的是,第一个字符串的大写字母应该是小写字母,并且只有字母会从第一个字符串中取出。我知道字符串是不可变的
public static void Encrypt(String s1, String s2) {
s1 = s1.toLowerCase();
StringBuilder finalS2 = new StringBuilder();
finalS2.append(s2);
for (int i = 0; i < finalS2.length(); i++) {
if (s1.charAt(i) >= 'a' && s1.charAt(i) <= 'z') {
finalS2.setCharAt(i + 2, s1.charAt(0));
break;
}
}
System.out.println(finalS2);
}
我认为在我的方法中,我认为这不是一个好主意,我应该为 s1 放置另一个 for 循环并在某处放置一个 break。我尝试了很多方法,charArray等,但没有成功。
【问题讨论】:
-
你能更好地解释你需要什么吗?这个问题不清楚(对我来说)。
-
假设我有 2 个字符串是用户输入的。第一个字符串是:“car”,第二个是“restaurant”,我想在 3 位置获得 'c',所以它将是:“rectaurant”,然后在 6 位置获得 'a',所以它将是“rectaarant”和 'r ' 如果可能的话,在 9 上