TestString6 str.indexOf(Key, index + 1); 의 문장 질문
122
작성한 질문수 1
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
While (index > = 0) 내부 코드에 궁금한 점이 있어서 질문을 드립니다. 제공해주신 코드 일부입니다.
while (index >= 0) {
index = str.indexOf(key, index + 1);
System.out.println("index = " + index);
count++;
}
System.out.println("count = " + count);
}
결과를 보면,
index = 18
index = 32
index = -1
이 순서대로 출력이 됩니다.
궁금한점 입니다.
1번 질문입니다. 18, 32, -1이 출력 된 뒤 count가 1씩 증가했습니다. 제가 생각하기에는 6, 18, 32가 출력이 되고 count = 3이 출력되어야 하지 않나 생각들었습니다. 제 생각이 맞는지 확인받고 싶습니다.
2번 질문입니다.
제가 수정한 코드의 일부입니다. 이 코드가 타당한지 검토받고 싶습니다. 감사합니다.
while (index >= 0) {
index = str.indexOf(key, index + 1);
System.out.println("index = " + index);
if (index == -1) {
break;
}
count++;
}
System.out.println("count = " + count);
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
유석환님께서 질문해주신 내용을 확인하였습니다.
- 첫 번째 질문에 대한 답변입니다.
현재 코드에서 str.indexOf(key, index + 1) 메서드 호출 결과로 출력되는 인덱스는 18, 32, -1로 보입니다. 이를 기반으로 count는 처음에 초기화된 상태에서 매 반복마다 1씩 증가하게 되어 최종적으로 count는 3이 됩니다. 질문자님의 예측처럼 6이 포함되지 않은 이유는 코드의 앞부분에서 이미 일부 검색이 진행되었기 때문일 수 있습니다. 초기 index가 얼마인지 확인해보시고, 혹시 입력 문자열과 키 값이 적절한지 검토해보세요.
- 두 번째 질문에 대한 답변입니다.
수정하신 코드에서 index == -1일 때 break를 추가하는 것은 매우 타당한 접근입니다. 이는 불필요한 index 값을 또 출력하지 않도록 하여 성능적으로도 그리고 로직적으로도 더 깔끔한 결과를 기대할 수 있습니다. 올바르게 코드를 수정하신 것 같습니다.
더 상세한 설명이나 도움이 필요하신 부분이 있다면 언제든지 추가로 질문 남겨주세요. 감사합니다! 😊
- 관련된 질문의 소스를 추가로 참고하시려면 Spring Boot Testing 가이드를 확인하실 수 있습니다.
문제와 풀이
0
28
1
섹션 2 퀴즈 9번
0
35
2
강의노트 내용이 이해가 되지 않아서 문의드립니다.
0
50
1
중급1편, 래퍼클래스 문제와풀이2 로또제너레이터 질문
0
71
1
setVlaue질문
0
98
3
안녕하세요 코딩테스트와 병행하고 싶어서 질문드립니다.
0
96
1
findValue의 파라메터까지 래퍼클래스 배열인 이유가 있을까요?
0
76
1
아래 글처럼 toString() 강의부터 화면이 안보여요
0
101
2
TemporalAdjusters의 lastDayOfNextMonth(), lastDayOfNextYear() 메서드 지원 안함
0
87
2
오타 제보도 되나요?
0
95
2
지역 클래스 예제3 지역변수 질문
0
71
2
래퍼클래스 박싱 출력
0
61
1
자바 equals() 메소드에 대한 물리적 동일성, 논리적 동등성 질문
0
110
3
강의록 오타 제보
0
70
2
자바의 기본 클래스들에 관하여
0
72
1
실무에서 중첩(내부) 클래스 사용하나요?
0
84
1
지역 클래스 - 지역 변수 캡처3
0
58
1
12:30 의 newClassGrade 질문이 있습니다.
0
58
1
날짜와 시간 문제풀이가 막히는데
0
103
2
내부 클래스의 바깥 클래스 참조
0
70
1
스트링 풀, new String()
0
106
3
정적 중첩 클래스 사용 이유
0
99
1
status.getCode() 대신 status.code 사용
1
82
1
메서드의 지역변수명과 내부클래스의 멤버메서드에서의 지역변수명의 중복관련
0
75
1





