문자열의 특정 인덱스의 문자를 바꾸고 싶습니다.

조회수 21665회

문자열에서 특정 인덱스의 문자를 바꾸려고

소스코드

String myName = "domanokz";
myName.charAt(4) = 'x';

이런식으로 해봤는데 에러가 발생합니다. 다른 메소드가 있는건가요?

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    자바에서 문자열은 immutable이라 값을 바꿀수 없습니다. 그래서 문제를 해결하려면 특정 인덱스가 바뀐 새로운 문자열을 만들어서 대입하는 방법으로 하시면 될 것 같습니다.

    String myName = "domanokz";
    String newName = myName.substring(0,4)+'x'+myName.substring(5);
    

    이런식으로 말이죠. 이게 싫으시다면 StringBuilder를 써서

    StringBuilder myName = new StringBuilder("domanokz");
    myName.setCharAt(4, 'x');
    
    System.out.println(myName);
    

    이렇게 하셔도 됩니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)