2014-10-10 13 views
11

Ich bin neu in Java, so tut mir leid, wenn dies eine offensichtliche Frage ist.So lesen Sie Zeichen in einer Zeichenfolge in Java

Ich versuche, eine Zeichenfolge Zeichen für Zeichen zu lesen, um Baumknoten zu erstellen. zum Beispiel Eingangs "HJIOADH" Und die Knoten H J I O A D H

Ich bemerkte, dass

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 

Kann ich einen Zyklus verwenden, um alle Zeichen zu bekommen? wie

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

Ich habe versucht, aber es funktioniert nicht.

Wie soll ich das tun?

Vielen Dank für jede Hilfe.

Scannerleser = neuer Scanner (System.in); System.out.println ("Geben Sie Ihre Knoten als Großbuchstaben ohne Leerzeichen und '/' am Ende ein"); int i = 0; Zeichen Knoten = Leser.next(). CharAt (i); während (Knoten! = ‚/‘) {

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

    } 
+2

Veröffentlichen Sie Ihre vollständigen Code verwenden, weil wir nicht wissen, was Leser ist? – brso05

+2

Holen Sie die Zeichen im Array mit 'char [] array =" HJIOADH ".toCharArray();' Erkunden Sie die Methoden, die in der Klasse 'String' selbst vorhanden sind. – Braj

+0

Danke für alle! Ich hab es geschafft. – Ahaha

Antwort

9

Sie wollen nur Ihre Leser einmal next(), es sei denn es eine Menge von der gleichen Toke hat immer wieder nrepeated.

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

Vielen Dank, genau das, was ich will! Sorry, ich habe nicht genug Reputation, um dich zu wählen. – Ahaha

0

als Braj erwähnt Sie reader.toCharArray() versuchen können, und dann können Sie leicht die Schleife

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

Vielen Dank, das wird funktionieren, aber ich will keinen extra Platz dafür verbrauchen. – Ahaha

+0

@Ahaha was meinst du mit extra Raum? –

Verwandte Themen