gpt4 book ai didi

java - 如何将空格字符放入数组元素中?

转载 作者:行者123 更新时间:2023-11-30 03:36:40 26 4
gpt4 key购买 nike

我目前正在编写一个程序,必须对用户输入的字符串进行加密。我可以随机化字母并让 a = c (随机生成的字母)等...但我似乎无法做的一件事是用户给出的字符串中是否有空格。因此,如果用户输入“加密此字符串”,我将收到错误消息。如何将空格字符放入数组中,以便在输入时可以更改它?

    char [] arrayAlphabet;
arrayAlphabet = new char [26];
for (int i=0; i<26; i++)
{
arrayAlphabet[i] = (char)('a' + i);
}


public static char [] createCipher(char [] arrayAlphabet, char [] cipherAlphabet)
{
List<Character> chars = new ArrayList<>(26);
for (char c = 'a'; c <= 'z'; c++)
{
chars.add(c);
}
Collections.shuffle(chars);

for (int i = 0; i<26; i++)
{
cipherAlphabet[i] = chars.get(i);
}
return cipherAlphabet;

谢谢,非常感谢您的帮助。

最佳答案

c = 'a'代替for循环和c <= 'z' ,为什么不使用 StringtoCharArray()相反:

public static char[] createCipher() { // You weren't using your parameters, so I removed them. You can add them back if you want
char[] chars = "abcdefghijklmnpoqrstuvwxyz ".toCharArray(); // Add more characters to this string if you need them
return shuffleArray(chars);
}

public static char[] shuffleArray(char[] array) {
Random rnd = new Random();
for (int i = array.length - 1; i > 0; i--) {
int index = rnd.nextInt(i + 1);
char temp = array[index];
array[index] = array[i];
array[i] = temp;
}
return array;
}

(您还需要导入 java.util.Random 才能正常工作)

什么是"...".toCharArray()它的作用是获取包含所需字符的字符串,然后将它们转换为 char大批 ;)。 shuffleArray()Fisher-Yates shuffle 的一般实现专门针对char[] ,这可能比转换 char[] 更快至List<Character>然后再回来。 (执行自https://stackoverflow.com/a/1520212/837703)

(请注意,如果您确实想保护某些信息,那么字符交换通常不是一种好的加密方式。不过,这是一个很好的练习。)

关于java - 如何将空格字符放入数组元素中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27734344/

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