web-dev-qa-db-fra.com

Comment lire les caractères d'une chaîne en java

Je suis nouveau en Java, donc désolé si cette question est évidente.

J'essaie de lire une chaîne caractère par caractère pour créer des nœuds d'arborescence. Par exemple, saisissez "HJIOADH" et les nœuds sont H J I O A D H.

J'ai remarqué que

char node = reader.next().charAt(0);  I can get the first char H by this
char node = reader.next().charAt(1);  I can get the second char J by this

Puis-je utiliser un cycle pour obtenir tous les caractères? comme

for i to n
    node = reader.next().charAt(i)

J'ai essayé mais ça ne marche pas.

Comment je suis supposé faire ça?

Merci beaucoup pour toute aide.

Lecteur de scanner = nouveau scanner (System.in); System.out.println ("entrez vos noeuds en majuscules sans espace et '/' à la fin"); int i = 0; noeud de char = reader.next (). charAt (i); while (node! = '/') {

        CreateNode(node); // this is a function to create a tree node
        i++;
        node = reader.next().charAt(i);

    }
14
Ahaha

Vous ne voulez que next() votre lecteur une seule fois, à moins qu'il ne se répète encore et encore.

String nodes = reader.next();
for(int i = 0; i < nodes.length(); i++) {
    System.out.println(nodes.charAt(i));
}
15
corsiKa

comme Braj l’a mentionné, vous pouvez essayer reader.toCharArray() et utiliser ensuite facilement la boucle.

char[] array = reader.toCharArray();
for (char ch : array) {
    System.out.println (ch);
}
0
Em Ae