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