주제 :
ASCII 코드에 따라 동일한 수의 번호가 오름차순으로 출력 경우. 다른 문자가있는 경우, 이러한 문자는 통계가 없습니다.
다음과 같은 인터페이스를 구현할 :
입력 (반복적으로 호출 될 수있다) 영문자, 숫자, 공간 통계 각 문자열
이하 통계 결과로부터 출력 계수의 개수에 따라가, 만일 코드에 따른 통계 동일한 번호 ASII 오름차순으로 정렬 출력은
재 계산, 현재의 통계를 지우려면
을 확인합니다 발신자 :
'\ 0'으로 입력 문자열의 끝을.
설명을 입력합니다 :
문자열을 입력합니다.
출력 설명 :
의 문자
각각 영문자 (케이스 별도)로부터의 출력에 따른 통계, 숫자, 공간 통계 및 숫자 다 적은 경우 오름차순 정렬 ASII 코드 출력에있어서 동일의 카운트 넘버. 다른 문자가있는 경우, 이러한 문자는 통계가 없습니다.
2 차원 정렬
수의 하강에 의해 평가
소형에서 대형까지 오름차순 야드
아이디어 :
그래서 첫 번째 문자는 기본적으로 초기에 10 만 + ASC로 설정 디지털 기능입니다 사용의 ArrayList에 저장
그런 때마다 반복 -1000 (통계 만 캐릭터, 100 개 이상의에 문자 최대 때문에).
이러한 그림이 마침내 2 100 전에, 수만 얻을 수있다 - 3 다음에, 수 (더 작은 수) 오름차순입니다. 이러한 직접 일종의 TreeSet의 (큰 작은 숫자의 조합) 이하로 더에서의 수를 완료하고, 대형 동일한 코드 오름차순 작은 수입니다.
(3) 후 다음 출력 문자로 촬영.
가져올 수 있는 java.util을 *. ; 가져 정적 java.util.Collections.sort을; 공용 클래스 주요 { 공공 정적 무효 메인 (문자열 []에 args) { 스캐너 S = 새로운 스캐너 (System.in); 반면 (s.hasNext는 ()) { ArrayList를는 <문자> 칼 = 새 ) (ArrayList를하는 단계; ArrayList에 <정수> = intAl 새로운 ArrayList를 (); 문자열은 STR = s.nextLine을 (); 숯 [] = 카 str.toCharArray (); 대한 (int로 I = 0; I <cArr.length; I ++ ) { 숯 C = 카 [I]; 경우 (c == '\ 0' ) { 체류 ; } 부울 YN는 = 거짓 ; 경우 (c> = 'A'&& C <= 'Z' ) { YN = 참 ; } 경우 (c> = 'A'&& C <= Z '가' ) { YN가 = 참 ; } 경우 (c> = 0 && C <= '9'; } 경우 (c == 0 ) { YN = 참 ; } 경우 (아니오 == 참 ) { 경우 (cAl.contains (c)) { INT의 인덱스 = cAl.indexOf (c); INT N = intAl.get (인덱스); N = N - 10000 ; intAl.set (인덱스, N); } 다른 { cAl.add (c); intAl.add (( INT) C + 1000000 ); } } } TreeSet에 <정수> = TS 새로운 TreeSet의 (intAl); 대 (정수 I : TS) { 문자열 온도 = i.toString (); INT L = temp.length (); 온도 = temp.substring (1 - 4 , l); System.out.print (( 문자 )있는 Integer.parseInt (온도) + "" ); } 에서 System.out.println (); } } }