퀴즈를 만들어 달라는 요청을 받았는데 퀴즈가 끝날 때 보관하고 싶은 것은 이름 []과 scores []라는 두 개의 개별 배열에 있습니다. 입력 및 출력을 사용하여 파일에 점수를 저장하라는 요청을 받았습니다. 나는 모든 것을 수행하고 성공적으로 결과를 출력하고 파일 (예 : highscores.txt)에 저장했습니다.
결과는 다음과 같이 저장됩니다.
4
name10
name5
name4
name2
첫 번째 줄은 퀴즈를 플레이하는 모든 사람이 자신의 점수를 저장할 때 파일에있는 점수의 수를 나타냅니다. 내가 고군분투하는 것은 점수를 가장 높은 순서에서 낮은 순서로 정렬하는 것입니다.
점수를 파일에 저장하기 전에 정렬을 시도했지만 파일의 이전 점수는 더 이상 정렬되지 않습니다. 예:
8
newname10
newname9
newname8
newname7
name10
name5
name4
name2
im 초보자 일 뿐이므로 쉽게 가십시오 ...
음, 사용자 이름과 점수 (예 : [사용자 이름] : [점수])를 쉽게 구분하기 위해 어떤 종류의 서식도 사용하지 않기 때문에 나중에이 두 정보를 서로 분리하는 데 문제가 있습니다.
어쨌든-데이터를로드하고 점수에서 사용자 이름을 분리하기 위해 순서를 변경해야합니다. my line 파일 라인을 읽고 regexp를 사용하여 점수에서 이름을 분리합니다 (사용자 이름에 문자 만 포함되기를 바랍니다) Pattern.compile("(\w+)(\d+)")
. 그런 다음을 사용 Matcher
하여 그룹 1 (이름)과 그룹 2 (점수)를 얻을 수 있습니다 . 그런 다음 점수를 비교하고 목록을 재정렬 할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다