자 그럼 Java 코드에서 클래스를 따라 가면서이 코드를 사용하여 문자 배열의 메서드에 의해 생성 된 소문자의 인스턴스를 계산하도록 요청 받았습니다. 코드를 따라 가면 같은 것을 던질 수 있습니다. "counts [chars [currentIndex] - 'a'] ++;"배열 내의 배열?
그렇습니다. 코드는 countLetters라고하는 public 메서드를 만들고 있으며, 본체의 어딘가에서 호출해야하고, 문자 배열 매개 변수가 필요하다는 것을 알았습니다. counts라는 정수형 배열을 만들고 그 크기는 26입니다 (알파벳의 총 소문자 수와 같은 크기입니다.) 그런 다음 배열에 일반적으로 필요한 for 함수를 실행합니다. currentIndex라는 변수를 만듭니다. 기본값은 0입니다. 현재 인덱스는 chars 문자 배열의 크기보다 작습니다. 그런 다음 for 루프가 실제로 무엇을하는지 가져옵니다. 그리고 도대체 뭐하고 있니? 그것은 카운트 인덱스의 크기를 증가시키고 있습니까? 배열 내의 일부 배열과 소문자 'a'의 숫자 값을 뺀 것과 같이 전체가 이상합니다. 어쨌든 카운트의 currentIndex를 수정하고 있습니다. 'a'의 숫자 값을 빼는 것이 필요한 이유는 무엇입니까? 여기 26 개가 충분하지 않을까요?
누군가가 천천히 그리고 완전한 평신도의 용어로 어떻게 설명 할 수 있습니까? 나는 정말로 초보 프로그래머이고이 물건은 나에게서 지옥을 혼란스럽게하고있다. 그래서 Smashmouth 노래가가는 것에 따라, 나는 나와 맺어 줘라, 나는 창고에서 가장 날카로운 도구가 아니다. 당신이 무슨 일이 일어나고 있는지 부러 뜨릴 수 있다면, 나는 농담을 떠나서, 나는 고맙겠습니다.
//count the occurrences of each letter
public static int[] countLetters(char[] chars){
//declare and create an array of 26 int
int[] counts = new int[26];
//for each lowercase letter in the array, count it
for (int currentIndex = 0; currentIndex < chars.length; currentIndex++)
counts[chars[currentIndex] - 'a']++;
return counts;
}
그 결말에 추가하려면 다음과 같이하십시오. _ 빛나지 않으면 결코 빛나지 않을 것입니다! –
정말 고맙습니다. 배열 참조가 다른 배열 인덱스 값을 참조하는 것이 약간 이상했습니다. 그것은 이해하지만, counts는 chars 배열의 currentIndex 값에서 문자를 가져 와서 1을 더하는 인덱스를 계산 한 다음 'a'의 숫자 값을 97만큼 뺍니다. 결과는 모두 정확하고 정확합니다 소문자 범위를 벗어난 문자를 제외하고 count에 대해 배열을 설정합니다. 알고 주셔서 감사합니다, 나는 바보 같아요, 하. – Strom
@Strom 전혀 문제가 없습니다! 다행스럽게도 그 모든 것을 보았을 것입니다. (나는 그 대답을 몇 번 편집했는데, 새로 고침을하거나 작은 "답변을 편집 했음 - 클릭하여 새로 고침"버튼을 확인했습니다). –