如何用Java制作一个扫描器,检查第一个字母是否是介于a-V之间的字符,第二个字符是否是介于1-20之间的数字? 如何制作扫描仪来检查第一个字母是否是介于a-V之间的字符,第二个字符是否是介于1-20之间的数字?例如:“.B4”、“H10.”、“**V1”、“L19*”、“M12”或“N14”。

如何用Java制作一个扫描器,检查第一个字母是否是介于a-V之间的字符,第二个字符是否是介于1-20之间的数字? 如何制作扫描仪来检查第一个字母是否是介于a-V之间的字符,第二个字符是否是介于1-20之间的数字?例如:“.B4”、“H10.”、“**V1”、“L19*”、“M12”或“N14”。,java,validation,input,java.util.scanner,minesweeper,Java,Validation,Input,Java.util.scanner,Minesweeper,我对Java有点陌生。还在学校学呢。我已经学了大约半年了 现在我有一份学校作业。它是关于创建一个基于文本的扫雷舰。我成功地印刷了电路板并放置了地雷。但现在我一直在努力获取正确的输入 如果在扫描仪中使用“*”如*B4或B4*,则应标记一个正方形 如果在扫描仪中使用“.”,如.B4或B4。它应该取消一个正方形的标记 如果你输入B4,它就会打开 但我不能把这件事干净利落地做完。我试着用子字符串来检查每个字符是否都是正确的,但在我这么做之后,我的代码有点混乱,不能正常工作 我试过这样的方法:“例3:

我对Java有点陌生。还在学校学呢。我已经学了大约半年了

现在我有一份学校作业。它是关于创建一个基于文本的扫雷舰。我成功地印刷了电路板并放置了地雷。但现在我一直在努力获取正确的输入

  • 如果在扫描仪中使用“*”如*B4或B4*,则应标记一个正方形
  • 如果在扫描仪中使用“.”,如.B4或B4。它应该取消一个正方形的标记
  • 如果你输入B4,它就会打开
但我不能把这件事干净利落地做完。我试着用子字符串来检查每个字符是否都是正确的,但在我这么做之后,我的代码有点混乱,不能正常工作

我试过这样的方法:“例3:验证中的元音:”我只使用了一个可变的黑板长度。因此,如果电路板是10乘10,它不会超过J10。但这对我也不起作用


所以我希望你能帮我解决这个问题。

因为这是一个作业,我只给你一个指导原则,而不是实际的代码

首先,您需要将输入转换为某种格式。考虑从扫描仪读取输入并将其存储到字符串中。

然后我们可以使用Java的字符串函数,可以找到这些函数的列表。试着找到一个有用的函数,也许可以让我们在某个索引处获取字符

然后我们可以对字符串进行检查。首先我们检查第一个字符(索引0处的字符),我们想知道这是否是来自
a-V
的字母。为此,我们可以检查ASCII码。假设您只需要大写字母,如果我们将
A
转换为
int
,则其值为65
V
的值为86。中间的所有数字对应于中间字母的ASCII值


因此,我们可以进行检查,将第一个字符转换为整数,我们称之为
x
。如果
x>=65&&x,您现有的代码将非常有用。张贴你迄今为止所写的代码,并说明问题在代码中的位置。我相信一个简单的
regex
可以解决你的问题。非常复杂的方法。如果字符串不代表数字,Plus
parseInt()
将抛出异常,因此您需要捕获它们。但我想避免使用regex来保持它相对简单易懂。