0

如何制作一个扫描仪来检查第一个字母是否是 AV 之间的字符以及第二个字符是否是 1-20 之间的数字?一些示例是:“.B4”、“H10.”、“**V1”、“L19*”、“M12”或“N14”。

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

现在我有一个学校作业。它是关于创建一个基于文本的扫雷游戏。我成功地打印了电路板并放置了地雷。但现在我坚持要获得正确的输入。

  • 如果您在 * B4 或 B4* 之类的扫描仪中使用“*”,它应该标记一个正方形。
  • 如果您使用“。” 在扫描仪中,如 .B4 或 B4。它应该取消标记一个正方形。
  • 如果你输入 B4 它应该打开。

但我不能以一种简洁的方式完成这项工作。我试图制作它的子字符串来检查每个字符是否都是正确的,但在我这样做之后,我的代码有点混乱,它没有按预期工作。

我试过这样:“示例 3:验证元音:使用 java.util.Scanner 验证输入”只是我使用了我的板长度的变量。因此,如果董事会是 10 乘 10,它不会比 J10 走得更远。但这对我也不起作用。

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

4

1 回答 1

0

由于这是一项任务,我只会给你一个指导而不是实际的代码。

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

然后我们可以使用 Java 的 String 函数,可以在此处找到其列表。尝试找到一个可能有用的函数,也许可以让我们在某个索引处获取字符。

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

因此我们可以进行检查,将第一个字符转换为整数,我们称之为x. 如果x >= 65 && x <= 86,那么这是我们可以关心的字母。

接下来,您需要进行号码检查。为此,请看一下函数Integer.parseInt(String s)。它接受一个字符串,然后将其转换为整数。您必须进行一些检查以查看它是>= 10还是<10

于 2014-03-28T17:06:58.017 回答