현재 사용자가 입력 한 문자열을 암호화해야하는 프로그램을 만들고 있습니다. 나는 문자를 랜덤 화하고 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;
감사합니다. 도움을 주시면 감사하겠습니다.
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()
대신 String
의 사용 대신 c = 'a'
및 c <= 'z'
와 for 루프의
그것은 ArrayUtils 말한다 해결할 수 없습니다, 나는 배열, 목록, arraylists 및 컬렉션을 가져 왔습니다. – Herofire
정말 시간과 도움을 주셔서 감사합니다 – Herofire
@MichaelVu 당신은 환영합니다 :). 나는 나의 대답을 업데이트했다. –