字符串所以我们可以说,我给一个棋子是在位置“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