为了找到给定的字符串包含所有元音,我们必须首先将给定的字符串转换为字符数组,以便我们可以简化给定字符串的每个字符的比较。
之后,将每个字符放入一个哈希映射中,以便我们可以检查从给定字符串创建的映射是否包含所有元音。我们在这里使用了哈希映射,因为字符数组类中没有具体的方法可以检查是否包含所有元音是否检查所有元音。唯一的检查方法是迭代整个数组并将每个字符与每个元音进行比较,这是不正确和正确的方法,与String类相同,因此我们将字符串转换为Hash映射,以检查其中是否包含元音射击。
现在创建一个字符类型的数组列表并包含所有元音。剩下的步骤就是检查哈希映射是否包含该列表?通过使用包含Map接口的所有方法。
如果哈希映射包含元音列表,那么我们可以接受给定的字符串,否则不可以。
import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; public class StringContainVowels { public static void main(String[] args) { String str1 = "aeiou"; ArrayList<Character> vowelList = new ArrayList<>(Arrays.asList('a','e','i','o','u')); char [] ch1 = str1.toCharArray(); HashMap<Character,Character> hMap = new HashMap(); for(char ch : ch2) { hMap.put(ch,'g'); } if(hMap.keySet().containsAll(vowelList)) { System.out.println("String is accepted" ); } else { System.out.println("String is not accepted"); } } }
输出结果
String is accepted
import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; public class StringContainVowels { public static void main(String[] args) { String str1 = "aeufgfg"; ArrayList<Character> vowelList = new ArrayList<>(Arrays.asList('a','e','i','o','u')); char [] ch1 = str1.toCharArray(); HashMap<Character,Character> hMap = new HashMap(); for(char ch : ch2) { hMap.put(ch,'g'); } if(hMap.keySet().containsAll(vowelList)) { System.out.println("String is accepted" ); } else { System.out.println("String is not accepted"); } } }
输出结果
String is not accepted