이것은 이상한 일종입니다. 필자가 작성한 코드는 특정 단어 게임 용이므로 매우 전문적입니다.자바 : 사전에서 임의로 선택한 특정 4 글자 단어를 체계적으로 무시합니까?
런타임에 4036 개의 인덱싱 된 4 문자 단어가 포함 된 HashMap<Integer, String>
이 있습니다. 같은 클래스에서, 나는 또한 random()
이라는 방법을 가지고 있습니다.이 단어는 무작위로 HashMap
에서 단어를 선택할 것입니다. 이것은 플레이어가 시작하는 단어입니다. 그러면 그 또는 그녀는 새롭고 유효한 단어를 만들기 위해 한 번에 한 글자 씩 단어를 바꿀 것입니다. 예컨대, FIVE ->FIRE ->WIRE ->WISE ->WISH ->등. 분명히, 나는 플레이어를 시작하기 위해 선택한 첫 번째 단어가 변경되지 않도록 (즉, 한 글자를 변경하는 단어가 없음) 원하지 않습니다.
그래서 무작위로 선택한 단어가이 기준을 충족하는지 확인하는 다른 방법이 필요합니다. 4036 개의 모든 항목을 반복해야 할 것 같아요. 그 정도로는 쉽지만, 무작위로 선택한 단어에서 정확히 1 문자 밖에없는 단어가 있는지 어떻게 확인할 수 있습니까?
단어를 그룹 (예 : 그룹 FI? E)에 저장할 수도 있습니다. 'FIVE'와'FIRE'를 포함합니다. 예를 들어, 키가'FI? E'이고 그 그룹의 모든 항목을 나열하는'Map>'에 저장할 수 있습니다. 무작위로 단어를 선택하고 'FIVE'라고 말하면 가능한 그룹 '? IVE','F? VE', 'FI? E', FIV?가 하나 이상의 단어를 포함하고 있는지 확인할 수 있습니다. 이 경우'FI? E' 그룹에는 둘 이상의 단어가 들어 있습니다 (FIRE도 있습니다). 그래서 사용할 수 있습니다. –
assylias
그것은 또한 내가 생각하지 못한 매우 똑똑한 해결책입니다. 감사! –