ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA문법 IndexOf(),Substring()
    개발언어/JAVA 2022. 1. 14. 19:15
    Integer.MIN_VALUE;

    가장 작은 값으로 초기화된다.

    -> -2³¹(-2,147,483,648))

    IndexOf( );

    IndexOf("찾을 특정 문자","시작할 위치(생략가능)")

    특정 문자 나 문자열 앞에서 처음발견되는 인덱스를 반환 하며, 만약찾지 못했을 경우 -1를 반환한다.

    while((pos = str.indexOf(" ")) != -1) { }

    띄어 쓰기가 없으면 -1이 반환 되면서 종료된다.

     

    Substring( );

    String str ="it is time to study"
    str.subString("시작지점")

    //문자열 "시작지점"위치 부터 끝까지 문자열 자른다.

    str.substring("시작지점","끝날지점")

    //문자열 "시작지점" 부터 "끝날지점"까지 문자열 발췌

    String tmp=str.substring(0,pos);

    //문자열 시작지점 부터 문자열의 처음 띄어쓰기 부분까지 발췌한다.

    pos = str.indexOf(" ")  =>pos가 가르키는 곳은 띄어 쓰기 공간 

     

    그래서 tmp = "it" 가된다.

     

    str = str.substring(pos+1);

    띄어쓰기가 시작하는 3의 앞부분 부터 짤랐으므로 +1 해준다.

      public String solution(String str) {
    String answer="";
    int m =Integer.MIN_VALUE,pos; // int pos; 와 같다 pos를 정의해 주는 것
    while((pos = str.indexOf(" ")) != -1) {
    String tmp=str.substring(0,pos);
    int len = tmp.length();
    if(len>m) {
    m = len;
    answer = tmp;
          }
    str = str.substring(pos+1);
       }
    if(str.length()>m) answer= str;
    return answer;
    }

    문자열의 길이가  현재 보다 커야 m와 answer 이 바뀌므로 제일긴 단어가 2개 있을시 앞에 위치한 단어가 우선한다.

    if(len>=m)으로 변경하면 제일긴 단어가 2개일시 뒤에있는 단어가 우선된다.

    '개발언어 > JAVA' 카테고리의 다른 글

    Java - Object4  (1) 2023.10.17
    Java - Object3  (1) 2023.10.16
    Java - Object 1  (0) 2023.10.16
    Java - 메서드 호출 시 파라미터를 전달하는 방법(Call By Value, Call By Reference)  (0) 2023.10.10
    char타입 다루기  (0) 2022.01.13

    댓글

Designed by Tistory.