Also sagen wir, ich habe eine Schachfigur, die an der Stelle "c4" ist, also in der 3. Spalte und der 4. Reihe. Wie würde man diese "c4" Saite lesen und dann auf der Tafel markieren, dass ein Stück da ist. Ich habe eine für Schleife gedacht, die für Zeichen liest und eine andere, die für Zahlen liest, aber nicht sicher, wie man markiert, dass ein Stück an einem Ort wie c4 ist. Irgendwelche Ideen/Ideen, um mich in die richtige Richtung zu schieben?Lesen und Speichern einer Zeichenfolge in Java
Antwort
Das hängt wirklich davon ab, was Sie sind und sind in dieser Situation nicht garantiert. Weißt du eigentlich, der erste Buchstabe wird immer ein Buchstabe sein? Was ist dein Nummernlimit?
Wenn Sie garantiert sind, dass der erste immer ein Charakter ist, wie in einem Schachbrett (ein 8x8 Gitter), dann können Sie einfach eine einfache myStr.charAt(0)
machen, etwas mit diesem Charakter tun, dann ersetzen, was dort war und den Rest a la myStr.replace(oldChar, '')
konvertieren und mit Integer.parseInt()
analysieren.
Wenn Ihre Daten nicht garantiert und viel komplizierter sind, werden Sie Ihre Zeichenfolge in Teile zerlegen, analysieren, was Sie brechen, und etwas mit den Daten tun. Zum Beispiel, wenn ich die Zeichenfolge "hh88"
erhalten würde, würde ich anfangen, indem ich finde, wo meine Zahlen anfangen, diese zwei Teile trennend, und etwas mit den Daten von dort tun. Dieselbe Idee gilt, wenn Sie nicht den gleichen Auftrag haben, d. H. "8c"
war ein gültiger String-Eintrag, der Unterschied besteht hier darin, dass Sie identifizieren müssen, wo sich die einzelnen Komponenten befinden.
Es ist garantiert, dass ein Buchstabe ist immer zuerst –
Also myStr, charAt (0) wird das erste Zeichen erhalten. Was wird die Integer.parseInt() tun? –
Dann sollte das obige gut funktionieren, mehr oder weniger identifizieren, wo die Buchstaben aufhören und Zahlen enden und brechen Sie Ihre Zeichenfolge auf diese Weise. 'substring',' replace' und 'split' (wenn Sie ein Trennzeichen in der eingegebenen Zeichenfolge haben) funktionieren alle gut. – swiftzor
Sie werden wahrscheinlich wollen diese Werte mit einem 2D-Array speichern, wie so:
bool[][] board = new bool[8][8];
Wie für die Zeichenfolge dort ein viele Möglichkeiten, lesen Sie es gehen könnte. Ich würde charAt
verwenden, um die einzelnen Zeichen herauszunehmen, dann den ersten durch eine switch-Anweisung setzen, um seinen numerischen Wert zu finden.
String input = "c4"
int row = Character.getNumericValue(input.charAt(1));
char columnChar = input.charAt(0);
int column;
switch (Character.toLowerCase(input.charAt(1)) {
case 'a':
column = 1;
case 'b':
column = 2;
// etc...
}
board[column - 1][row - 1] = true; // Fill the board, subtracting one to account for arrays indexing from zero
Hier habe ich eine Reihe von bools Spur zu halten, aber natürlich werden Sie etwas komplizierter zu verfolgen verschiedene Teile benötigen. Möglichkeit, eine ChessPiece
Klasse zu erstellen und sie zu erweitern, um jedes Stück zu erstellen, wäre hilfreich.
- 1. Java - Lesen und Speichern in einem Array
- 2. lesen Konsole Zeichenfolge in Java
- 3. Dateien rekursiv lesen und speichern java
- 4. So lesen Sie Zeichen in einer Zeichenfolge in Java
- 5. Jasmin ByteCode Speichern einer Zeichenfolge
- 6. Lesen Sie 2 Buchstaben in einer Zeichenfolge mit JAVA
- 7. Lesen einer nullterminierten Zeichenfolge
- 8. Ich muss Fußzeile einer Datei lesen und in einer Arraylist in Java speichern
- 9. Wie zu lesen und aus einer Textdatei und speichern in einem Klassenobjekt in Java
- 10. Wie Python Wörterbuch Zeichenfolge in JAVA lesen
- 11. C# Lesen einer Zeichenfolge in einer Binärdatei
- 12. C++ Speichern einer Zeichenfolge in einer Klasse
- 13. Speichern einer Zeichenfolge in einer .setting-Variablen
- 14. Speichern und lesen Streamdata
- 15. Umwandeln einer Zeichenfolge Zeichenfolge in Java integer und integer
- 16. Konvertieren einer Zeichenfolge in Farbe in Java
- 17. Einfügen eine Zeichenfolge in einer anderen Zeichenfolge java
- 18. Speichern aller möglichen Sequenzen einer binären Zeichenfolge, Java
- 19. Wie kann ich Zeichen einer Zeichenfolge lesen?
- 20. Palindrome einer Zeichenfolge in Java
- 21. Lesen einer Datei in Java und Steuern einer Array-Liste
- 22. Formatierung einer Zeichenfolge in Java
- 23. Java-Zeichen in einer Zeichenfolge
- 24. JAVA: Lesen und Schreiben einer Datei zusammen
- 25. Datei lesen und in geschützter Variable in C++ speichern
- 26. Objekt aus einer Datei lesen und in ArrayList speichern
- 27. Speichern und lesen von Daten aus einer Datei in Python?
- 28. Aus einer Textdatei lesen und in einem String speichern
- 29. Datei zeilenweise lesen und in einer Liste speichern
- 30. Java - Suchen und Ersetzen Teil einer Zeichenfolge
Das "' "" c4 "' 'in seine Spalten-/Zeilenkomponenten aufzuteilen, sollte nicht schwer sein. Was meinst du mit "Markierung an der Tafel"? – f1sh
Sie sollten sich [ask] und [help/on-topic] ansehen. – pvg
Was ist Ihre aktuelle Implementierung? Was repräsentiert das Board und was repräsentiert, wo du markierst, dass es da ist? Jemand würde dir gerne helfen Ich bin mir sicher, aber es gibt nicht wirklich genug, um von hier weg zu gehen – Rafa