2017-05-17 8 views
1

나는이 배후에있는 논리가 무엇인지 이해할 수 없다는 것을 알게 된 까다로운 인터뷰 질문을 읽었습니다. 어떤 사람이 설명 할 수 있습니까?이 기능의 기본 논리는 무엇입니까?

public class Test 
{ 
    public static void main(String[] args) { 
for(char c‮h = 0; c‮h < Character.MAX_VALUE; c‮h++) 
    if (Character.isJavaIdentifierPart(c‮h) && !Character.isJavaIdentifierStart(c‮h)) 
      System.out.printf("%04x <%s>%n", (int) c‮h, "" + c‮h); 
    } 
} 

출력

0000 < > 
0001 <> 
0002 <> 
0003 <> 
0004 <> 
0005 <> 
0006 <> 
0007 <> 
0008 <> 
000e <> 
000f <> 
0010 <> 
0011 <> 
0012 <> 
0013 <> 
0014 <> 
0015 <> 
0016 <> 
0017 <> 
....more rows 
+1

먼저 컴파일 가능한 예제를 게시합니다. 이것은 아직 코드가 아닙니다. 뭔가가 문자열에 있어야하는 것처럼 보이지만 그때에도 뭔가 빠져 있습니다. –

+0

답장을 보내 주셔서 감사합니다. 이것이 바로 그 프로그램입니다. – anonymous

+0

사용중인 메서드에 대한 Java 설명서를 확인한 다음 의미가 있어야합니다. –

답변

0

이 :

for(char c‮h = 0; c‮h < Character.MAX_VALUE; c‮h++) 

때문에 루프

대한 정상 ....

for(char ch=0; ch< Character.MAX_VALUE; ch++) 

동일하지만 거꾸로 작성된