코드 줄에 관한 질문 [중복]
Sep 26 2020
아래 코드에서 질문이 있는데, 주어진 선언 된 배열은 정수형입니다. map [s.charAt (i)] ++ 라인에서 무슨 일이 일어나고 있는지 설명해 주시겠습니까? 배열이 초기화 중에 정수 유형이므로 여기에서 설명을 이해하는 데 어려움이 있지만 문자 유형이 입력으로 제공됩니다.
public int firstUniqChar(String s)
{
int[] map = new int[128];
for(int i=0;i<s.length();i++)
map[s.charAt(i)]++;
for(int i=0;i<s.length();i++)
if(map[s.charAt(i)] == 1)
return i;
return -1;
}
답변
1 SidneiBernardo Sep 26 2020 at 10:55
자바에서 int i = 0변수 선언 이 있다고 가정하면 i++변수 값에 1을 더하는 구문 suggar, 즉 i = i + 1. 귀하의 경우 1을 map배열 위치에 합산 하고 s.charAt(i).
sString 객체라고 가정하면 at 위치 (0 인덱스)를 s.charAt(i)반환합니다 . Java가 ( 배열 을 인덱싱하기 위해) as a를 읽을 때는 해당 ASCII 코드를 사용합니다 .charicharintmapchar
그래서, 문자의 ASCII 코드로 색인 된 배열에 map[s.charAt(i)]++1을 더하는 것 map입니다.