为了解释我的问题,我将给您一个场景:一个用户正在玩在线益智游戏。有人在屏幕上绘制图片。目标是成为第一个猜测图片代表什么单词的人。用户知道这是一个3个字母的单词,因为在屏幕上有3个空格(_ _ _)
。15秒后,会弹出一个字母,所以现在看起来像这样:(_ a _)
。
这是问题所在:我将程序设置为:如果用户键入字母“ a”,则将显示三个字母并包含字母“ a”的所有单词。但是,我希望用户能够指定字母所在的空间。
以下是所有可能的3个字母的单词:
String[] lettersThree = {"axe","bow","car","eye","fat","pig","sun"};
现在,如果用户输入“ a”,则这些单词将被打印出来:斧头,汽车,脂肪。
但是,在该示例中,用户知道“ a”是第二个字母。我希望打印出来的只是“汽车”和“胖子”-我不希望包含“ axe”,因为“ a”位于错误的位置。
我该怎么做?我已经尝试过多次查找,但是找不到与在数组的String元素中找到特定字母有关的任何问题/答案。我只找到了有关如何按升序/降序对数组进行排序以及如何查找元素索引的说明。如果已经问过这个问题,我深表歉意,但是我看到的所有类似问题似乎都与我为该程序所做的工作没有太大关系。
而不是检查所有带有字母“ a”的单词,而是检查所有在第二位置上带有“ a”的单词。您可以使用它string.charAt(1) == 'a'
来完成此任务。
您可以编写一种方法来检查数组中的字母,并返回ArrayList
带有所有像这样的单词的。
public static List<String> getWords(String[] words, char c, int position) {
List<String> result = new ArrayList<String>;
for (String s : words) {
if (position > s.length - 1)
continue;
if (s.charAt(position) == c)
result.add(s);
}
return result;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句