konvertieren Angenommen ich die folgende Eingabe von einem Scanner erhalten: "5B1 2B2 9B3 1R4 3R5 8R6 10R7"
Wie eine Reihe von alphanumerischen Zeichenfolgen in drei verschiedenen Teilen
Ich möchte die Daten in etwas ähnlich wie diese gespeichert haben:
array[0] = {5,B,1}
array[1] = {2,B,2}
HINWEIS: Ich brauche die Nummer auf der linken Seite des Charakters ein GESAMT gespeichert.
Beispiel: das Array erreichen enthält {5B1,3B2} etc ..
String input = scanner.nextLine();
String[] nodes = input.split(" ");
Ich konnte: ich 10R7
müssen gespeichert als {10,R,7}
und nicht {1,0,R,7}
Mit diesem werden
EDIT:
Ich versuchte diesen Ansatz (WORKS):
String[][] aa = new String[nodes.length][];
for(int i =0; i<nodes.length; i++){
aa[i] = nodes[i].split("((?<=[a-zA-Z])(?=[0-9]))|((?<=[0-9])(?=[a-zA-Z]))");
}
Dies geschieht, wenn Sie sofort drucken:
[Ljava.lang.String;@55f96302
[Ljava.lang.String;@3d4eac69
[Ljava.lang.String;@42a57993
[Ljava.lang.String;@75b84c92
[Ljava.lang.String;@6bc7c054
[Ljava.lang.String;@232204a1
[Ljava.lang.String;@4aa298b7
Das obige Problem tritt nur auf, wenn ich versuche, es zu drucken mit:
System.out.println(aa[i]);
Es gibt eine andere Art und Weise ist es der Druck aber Ich muss es nicht drucken. Hier
Zeichen dauert nur ein Zeichen zu einem Zeitpunkt. – Omore
Was hast du probiert? –
Verwenden Sie 'split (" ")' mit Leerzeichen dann verwenden Sie 'split (" ")' ohne Leerzeichen erhalten Sie Ihr char-Array – Vishrant