gpt4 book ai didi

java - 如果在另一个字符串中找到字符串的字母,则将其替换为空白

转载 作者:太空宇宙 更新时间:2023-11-04 11:34:35 24 4
gpt4 key购买 nike

我正在做一项作业,这部分让我感到困惑。

构造cipher1,首先用第一个 key 中的唯一字母填充矩阵。

例如,如果 key 是“testkey”,则用字母T、E、S、K、Y填写 key 。

不要填写键中重复的字符。然后用字母表的剩余字符填充矩阵(再次跳过 Q)。

不要重复键中出现的任何字符。因此,对于 “testkey”, cipher1 看起来像这样:“

密码是一个 5 x 5 数组,通常由字母表中的字母减去“q”填充。

因此,如果我的 key 是 testkey,密码现在将填充“TESKYABCDFGHIJLMNOPRUVWXZ”而不是“ABCDEFGHIJKLMNOPRSTUVWXYZ”。

我以为这样的东西会起作用,但事实并非如此。

for (int i = 0; i < key.length(); i++)
{
key.toCharArray();
alphabet.replace(key[i], "");
}

键变量是字符串“TESTKEY”,字母变量也是包含“ABCDEFGHIJKLMNOPRSTUVWXYZ”的字符串。

现在看来,代码显然有缺陷,现在我陷入了困境。请任何人给我建议

最佳答案

试试这个:

public static void main(String[] args) {

String testS = "testkey";
String key = "ABCDEFGHIJKLMNOPRSTUVWXYZ";

testS = testS.toUpperCase() + key;
testS = removeDuplicates(testS);
System.out.println(testS);
}

static String removeDuplicates(String string) {

StringBuilder noDuplicateChars = new StringBuilder();

for (int i = 0; i < string.length(); i++) {

String letter = string.substring(i, i + 1);

if (noDuplicateChars.indexOf(letter) == -1) {
noDuplicateChars.append(letter);
}
}

return noDuplicateChars.toString();
}

如果由于某种原因您不想使用StringBuilder,您可以将removeDuplicates的实现更改为:

static String removeDuplicates(String string) {

String noDuplicates = new String("");

for (int i = 0; i < string.length(); i++) {

if (!noDuplicates.contains("" + string.charAt(i))) {
noDuplicates += "" + string.charAt(i);
}
}

return noDuplicates;
}

关于java - 如果在另一个字符串中找到字符串的字母,则将其替换为空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43422538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com