将用户输入字母char转换为int?

时间:2017-07-22 16:46:28

标签: java

这是用户/组合之间的战舰游戏。用户从字母+数字接收输入(例如:A1,B4等)。该阵列是8x8网格,因此它必须在A-H和A之间。 1-8。

我让它在用户输入大写字母时起作用,但是小写字母会产生错误(显然是因为我的代码通过从输入中减去65来快速修复...

如何制作,以便用户可以输入a1或A1,两者在网格上的编号和位置相同?

1 个答案:

答案 0 :(得分:0)

由于您已经能够操作大写字母,为了使小写字母也可以工作,您可以先将字符转换为大写字母,如下所示:

int precolumn = Character.toUpperCase(answer.charAt(0)) - 65;

这将确保所有前置字母都是大写的,这样您的快速修复就可以了。

但是,由于您知道这是一个延迟转换,您可能需要考虑添加其他步骤,例如首先通过类型转换将字符转换为其ascii值:int ascii = (int) character;然后使用整数进行减法操作值...