책 내용 질문하기
세는 방법이 왜 다르죠
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
106
조회수
161
작성일
2019-06-12
작성자
탈퇴*원
첨부파일
문자열 예제에서 st[n-k]=str.charAt(k);가 있는데 그 전 내용으로 n과 k모두 11임을 알 수 있었습니다. 따라서 st[0]=까지는 이해가 됐어요. 근데 왜 저 함수에서 information!의 11번째에 해당하는게 n이 아니라 ! 인건지 모르겠습니다. 바로 그 위에 int n=str.length();할때만 해도 informaion을 하나, 둘, 셋 이런식으로 세서 12개로 쳤는데 왜 갑자기 str.charAt은 0,1,2,3 이렇게 세는지....
답변
2019-06-13 10:33:38

안녕하세요 길벗수험서 운영팀입니다.

 

배열의 '주소'와 '길이'에 대해서 혼동하신듯 합니다.

 

(학습하시는 페이지가 java이니 java로 예를 들겠습니다.)

예를 들어 char[] st = new char [12]; 로 선언했을 때, 뒤 []에 들어가는 숫자는 배열의 '길이' 입니다.

배열 st는 0~11까지의 주소를 갖고 요소를 저장하는 총 길이 12의 char형 배열로 선언된 것이죠.

 

.length() 함수는 배열 또는 String 자료형의 '길이'를 반환하는 함수입니다. 

.charAt() 함수는 String 자료형의 '지정 주소값'에 저장된 데이터를 반환합니다.

 

음.. 이 경우는 각 함수의 특성을 암기하셔야 될 것 같습니다.

참고로 문자열의 전체 길이 또는 전체 데이터를 불러오는 계통이 아닌, 하나의 문자를 뽑아내거나 할 때는 '길이'를 쓰는 경우는 거의 없습니다. 대부분 '주소'를 활용하죠.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-13 10:33:38

    안녕하세요 길벗수험서 운영팀입니다.

     

    배열의 '주소'와 '길이'에 대해서 혼동하신듯 합니다.

     

    (학습하시는 페이지가 java이니 java로 예를 들겠습니다.)

    예를 들어 char[] st = new char [12]; 로 선언했을 때, 뒤 []에 들어가는 숫자는 배열의 '길이' 입니다.

    배열 st는 0~11까지의 주소를 갖고 요소를 저장하는 총 길이 12의 char형 배열로 선언된 것이죠.

     

    .length() 함수는 배열 또는 String 자료형의 '길이'를 반환하는 함수입니다. 

    .charAt() 함수는 String 자료형의 '지정 주소값'에 저장된 데이터를 반환합니다.

     

    음.. 이 경우는 각 함수의 특성을 암기하셔야 될 것 같습니다.

    참고로 문자열의 전체 길이 또는 전체 데이터를 불러오는 계통이 아닌, 하나의 문자를 뽑아내거나 할 때는 '길이'를 쓰는 경우는 거의 없습니다. 대부분 '주소'를 활용하죠.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.