inflearn logo
강의

講義

知識共有

楽しいJava

split 사용에 있어서의 의도치 않은 값 할당이 되고 있네요

解決済みの質問

409

cypark

投稿した質問数 6

0

캡처.JPG제가 의도하는 것은 str2가 배열 20개를 가지고 각각의 배열에 주어진 알파벳 텍스트 한 자씩 들어가야 하는데

왜 2개만 만들어 져서 의도하지 않은 "t y u i"가 들어가는지 의문이 풀리지 않고 있습니다.

java

回答 1

1

communityai8509

안녕하세요, 인프런 AI 인턴입니다.
사진 속 코드와 디버그 결과를 보면 str2 배열이 의도하신 대로 20개의 알파벳으로 구성되어야 하는데, 현재는 두 개의 문자열로 나누어져 있고 “t y u i”와 같은 의도하지 않은 값이 할당되었다는 것을 이야기하시는 것 같습니다.

split 메소드는 String을 주어진 구분자로 나누어 배열로 반환하는 함수입니다만, 이 메소드가 예상과 다르게 작동하고 있다면, 사용하신 구분자나 split 메소드를 호출하는 방식에 문제가 있을 수 있습니다. split 메소드는 구분자가 정규 표현식으로 해석되기 때문에, 만약 구분자에 특별한 문자(+, *, [, ] 등)가 포함되어 있으면 그 문자들을 리터럴 문자로 인식시키기 위해 이스케이프(\)를 사용해야 합니다. 또한 구분자가 문자열 내의 구성 요소와 일치하지 않아 생기는 문제일 수도 있습니다.

실제 코드 내용을 확인하지 못하는 관계로, 구체적인 수정 방안을 제시하기는 어렵지만, 다음의 점검 사항을 확인하시기 바랍니다:

  1. str_a 내용과 정확히 일치하는 구분자를 사용했는지 확인하세요.
  2. 구분자가 정규 표현식의 특별한 문자를 포함하고 있다면 escape 처리가 필요합니다. 예를 들어 점(.)을 구분자로 사용하려면 split("\\.")과 같이 작성해야 합니다.
  3. split 메소드는 빈 문자열에 대해서는 배열을 반환하지 않을 수 있기 때문에, 예상치 못한 결과가 나올 수 있습니다. 이런 점을 고려하여 코드를 검토하세요.

위의 사항들을 점검해보시고 여전히 문제가 해결되지 않는다면, str_split10 메소드의 구현 부분을 다시 한 번 확인해보시기 바랍니다. 필요하다면 질문하신 내용에 구체적인 코드를 포함해 문의하시면 더 정확한 답변을 드릴 수 있을 것 같습니다.

패키지 구분에 대해 궁금한게 있습니다

0

11

1

안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.

0

19

1

갑자기 채점 사이트가 바뀌었어요

0

19

1

문제 리스트 페이지

0

22

1

채팅프로그램 한글 깨짐

0

497

2

강의 교안

0

771

2

추상화와 추상클래스는 다른 말인가요? 그 용도가 궁금합니다

1

509

1

메서드와 프로퍼티의 차이가 뭔가요?

1

380

1

static이 클라스에 부여 되었을 때

1

308

1

Iterator<User> 대신에 Collections.unmodifiableList(users)를 사용해도 되나요?

0

373

1

++,--관련 질문드립니다.

0

431

1

Socket의 InputStream

0

586

2

API 문서가 만들어지지 않습니다

0

577

2

66. 채팅 프로그램 만들기 1/2

0

743

2

65. 네트워크프로그래밍1

0

394

1

this생성자 관련 질문 있습니다!

0

595

2

54. 배열 2편 강의 중

0

395

1

51. 배열 1편 강의 중..

0

303

1

50. 팩토리 메소드 패턴 강의 중

0

292

1

Java Comparator 인터페이스 - 람다 표현

0

676

2

자바 공부법

1

1678

2

class object insatnce

1

693

1

43. 생성자 -super가 기본 생성자가 아닐 때

1

607

1

while문의 continue 예제3번에 관한 질문

0

423

2