나는 약간의 Java 연습 문제를 겪고 있으며,이 코드를 완전히 이해하지 못했습니다.문자로 배열 요소에 액세스
public static boolean permutation(String s, String t) {
if (s.length() != t.length()) {
return false;
}
int[] letters = new int[128];
char[] s_array = s.toCharArray();
for (char c : s_array) {
letters[c]++;
}
// omitted other code
}
letters
의 내용을 인쇄 할 때 정수 배열을 볼 수 있습니다. 문자열에 따라 배열에 0
및 1
의 변형을 반환하는 함수에 전달합니다.
Array
클래스가 char
을 int
으로 변환하고 있다고 생각했습니다. 도움이되는 print 문을 추가했지만 d
의 값이 13임을 알았지 만 여전히 배열의 13 번째 요소가 여전히 0
으로 표시됩니다. 그 코드는 다음과 같습니다
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String word1 = "dog";
String word2 = "god";
permutation(word1, word2);
}
public static boolean permutation(String s, String t) {
if (s.length() != t.length()) {
return false;
}
int[] letters = new int[128];
char[] s_array = s.toCharArray();
for (char c : s_array) {
System.out.println(Character.getNumericValue(c));
letters[c]++;
}
System.out.println(Arrays.toString(letters));
return true;
}
}
출력 :
13
24
16
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
에 Array[char]
구문 번역 무엇 인 내 질문?