➎ 조합할 약병 수는 언제까지 뽑아야 할까요? cntShowBootle 변수의 값이 prevCntShowBottle 변수의 값과 다를 때까지 하면 됩니다. 다시 말해, 두 값이 같으면(cntShowBottle == prevCntShowBottle) 다시 조합합니다. 예를 들어, cntShowBootle 변수의 값이 2인데, prevCntShowBottle 변수의 값도 2이면 3이 나올 때까지 계속 조합합니다. 변수의 값이 서로 다를 때까지 계속해야 하므로 반복문이 필요하겠죠? 횟수가 정해지지 않았으니 while 문이나 do-while 문을 사용하는데, 이번에는 do-while 문을 사용합니다. do-while 문을 사용하는 이유는 약병을 처음 조합할 때는 앞 회차와 비교할 필요가 없기 때문입니다. 한 번은 무조건 테스트하고 시작하는 거죠. 조합할 약병 개수를 난수로 생성하는 문장을 do-while 문 안에 넣고 생성한 난수를 cntShowBottle 변수에 저장합니다.
그림 6-8 정답률 향상을 위한 cntShowBottle 변수와 prevCntShowBottle 변수