这是用户/组合之间的战舰游戏。用户从字母+数字接收输入(例如:A1,B4等)。该阵列是8x8网格,因此它必须在A-H和A之间。 1-8。
我让它在用户输入大写字母时起作用,但是小写字母会产生错误(显然是因为我的代码通过从输入中减去65来快速修复...
如何制作,以便用户可以输入a1或A1,两者在网格上的编号和位置相同?
答案 0 :(得分:0)
由于您已经能够操作大写字母,为了使小写字母也可以工作,您可以先将字符转换为大写字母,如下所示:
int precolumn = Character.toUpperCase(answer.charAt(0)) - 65;
这将确保所有前置字母都是大写的,这样您的快速修复就可以了。
但是,由于您知道这是一个延迟转换,您可能需要考虑添加其他步骤,例如首先通过类型转换将字符转换为其ascii值:int ascii = (int) character;
然后使用整数进行减法操作值...