2016-05-24 16 views
0

Hallo Ich bin neu in Java und arbeite an einem Projekt, um eine Zeichenfolge in einzelne Zeichen aufgeteilt und an JavaFX gesendet. Ich stelle mir vor, der beste Weg wäre, ein Array dafür zu erstellen.Wie setze ich Array-Länge auf die Größe einer Zeichenfolge und Zeichen aus der Zeichenfolge in Java

Ich möchte das Array erstellen, so dass es einen Index von mindestens der Länge der Zeichenfolge hat und ich bekomme einen Fehler. Ich möchte dann einen Teil der Zeichenfolge von einem bestimmten Punkt an das Ende davon an das Array senden. Ich stelle mir vor dann kann ich die einzelnen Briefe an JavaFX Labels und Boxen schicken.

public static void main(String[]args) { 
    String gamePhrase = "Some Phrase here"; 
    String guessPhrase = gamePhrase.replaceAll("[a-zA-Z0-9]", "*"); 

    System.out.println(guessPhrase); 

    System.out.println(arraytest); 

    char[] array2 =new char[gamePhrase.length()]; 

    guessPhrase.getChars (1,gamePhrase.length(),array2,0); 

    System.out.println(array2);} 
} 

Wohin gehe ich falsch? Warum kann ich die Funktion string.length() nicht verwenden? Gibt es bessere Wege, die man vorschlagen könnte? Ich möchte das ToArray nicht verwenden, da das Array nicht alle Zeichen enthält.

Jede Hilfe würde sehr geschätzt werden.

+0

Wo sehen Sie den Fehler, und welche Fehler bekommen Sie? Sie haben Arraytest nirgendwo zugewiesen? –

+0

'guessPhrase.getChars (1, gamePhrase.length(), array2,0);' Sie beginnen bei Index 1. Ich vermute, dass Sie eine Exceptions-Ausnahme für einen Index erhalten. – matt

+0

Ich habe den anfänglichen 'Arraytest' nicht bemerkt, nachdem er entfernt wurde, dass er abgelaufen zu sein schien. – mineshmshah

Antwort

0

Ich hoffe, dass dieser Code wird Ihnen helfen.,

String str = "hello"; 
    char[] ch = new char[str.length()]; 
    ch = str.toCharArray(); 
    for(int i=0;i<ch.length;i++){ 
    //this will print all the char 
    System.out.println("ch len == "+ ch[i]); 
    //to select specific char 
    if(ch[i] == 'l'){ 
     System.out.println("selected chars == "+ ch[i]); 
    } 
    } 
+0

'char [] ch = neues Zeichen [str.length()];' tut nichts. – matt

2

Sie können den String .toCharArray() verwenden.

char[] array2=gamePhrase.toCharArray() 

Dann haben Sie das gleiche wie getChars für die ganze Zeichenfolge.