字符串所以我們可以說,我給一個棋子是在位置「C4」,所以它在第3列和第4排。如何去閱讀這個「c4」字符串,然後在棋盤上標記一塊棋子在那裏。 我一直在思考一個for循環,對字符讀取,而另一個用於數字閱讀,但不知道如何以紀念這一塊是在像C4的位置。 任何想法或想法將我推向正確的方向?閱讀和存儲在Java
回答
這真的取決於你是什麼,在這種情況下都不能保證。你知道一個事實,第一個字符總是一個字母嗎?你的人數限制是多少?
如果你保證第一個總是一個角色,就像在一個棋盤(8x8網格)中一樣,那麼你可以做一個簡單的myStr.charAt(0)
來獲得該角色,然後替換那個角色,將其餘的轉換爲myStr.replace(oldChar, '')
並用Integer.parseInt()
解析。
如果您的數據並不能完全保證要複雜得多,你會想打破你的字符串分成幾部分,通過你打破它下來什麼來解析,並且做對數據進行處理。例如,如果我得到了字符串"hh88"
,我將首先找到數字的起始位置,將這兩部分分開,然後對數據進行處理。如果您不能保證相同的順序,即相同的想法適用,即"8c"
是有效的字符串條目,這裏的區別是您需要確定每個組件的位置。
這是保證,一個字母永遠是第一個 –
所以myStr,charAt(0)會得到第一個字符。 Integer.parseInt()會做什麼? –
然後上面應該工作得很好,或多或少地識別字母停止和數字結束的地方,並以這種方式打破你的字符串。 'substring','replace'和'split'(如果在輸入的字符串中有一個分隔符)都可以正常工作。 – swiftzor
你可能會想這些值與二維數組存儲,如下所示:
bool[][] board = new bool[8][8];
至於閱讀的字符串有一個很多方法,你可以去了解它。我會使用charAt
來拉出單個字符,然後通過switch語句將第一個字符放到數字值中。
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
這裏我用了一個布爾數組來跟蹤,當然你需要一些更復雜的東西來跟蹤不同的部分。創建一個ChessPiece
類並將其擴展以創建每件作品的可能性會很有幫助。
- 1. 閱讀和存儲ViewBag
- 2. 的System.OutOfMemoryException在閱讀和獨立存儲
- 3. 閱讀和存儲整數在陣列
- 4. 閱讀和存儲在Java從文本文件中的數據
- 5. 在線閱讀XML和存儲它(使用Java)
- 6. 閱讀plist存儲在內存NSDictionary
- 7. 閱讀和存儲多個文件
- 8. C#閱讀,存儲和組合陣列
- 9. 閱讀整個XML文件並存儲在內存中java
- 10. Java的閱讀unsigned int類型,存儲和寫回
- 11. 閱讀和Java中
- 12. 閱讀在Java
- 13. 閱讀在Java
- 14. 閱讀XML文件並存儲在MySQL
- 15. 閱讀JSON在Java
- 16. 閱讀在Java中
- 17. 閱讀JSON在JAVA
- 18. 閱讀,比較和Java的
- 19. 閱讀整數和JAVA
- 20. 閱讀比較和用java
- 21. 讀取和存儲Java圖標
- 22. 製作firebase存儲公開在android上閱讀和寫作
- 23. 在閱讀和寫入內部存儲時遇到問題android
- 24. Bash閱讀txt文件和存儲在數組
- 25. 存儲在外部文件中的雙陣列和閱讀它
- 26. 在陣列中的C#閱讀語法從文件和存儲
- 27. LINQPAD - 閱讀在CSV和存儲列進名單
- 28. 如何閱讀和下載存儲在Bucket中的文件?
- 29. 閱讀.csv文件並存儲到鏈表中的Java
- 30. 閱讀文件本地存儲windowsphone
分裂的''「C4」''到它的行/列的組件應該不難。 「在板上標記」是什麼意思? – f1sh
你應該看看[問]和[幫助/關於話題] – pvg
什麼是你目前的實現?什麼代表董事會和什麼代表你在哪裏標記它在那裏?有人願意幫助你,我敢肯定,但還沒有真正足夠讓我離開這裏 – Rafa