2017-05-17 8 views
1

J'ai lu la question d'entrevue difficile que j'ai vu ce que je ne pouvais pas comprendre quelle est la logique derrière cela. Quelqu'un peut-il expliquer?Quelle est la logique de ce fonctionnement?

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); 
    } 
} 

OutPut

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

Je posterais un exemple compilable en premier; ce n'est même pas encore le code. On dirait que quelque chose est censé être dans une chaîne, mais même alors, il manque quelque chose. –

+0

Merci pour votre réponse. c'est ce que le programme c'est. – anonymous

+0

Je vous recommande de vérifier la documentation de Java sur les méthodes utilisées, et cela devrait être logique. –

Répondre

0

ceci:

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

est le même que

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

mais est écrit à l'envers .... est donc une normale boucle