Java 返回元音
我是Java的初学者,我正在练习practiceit 但我被这个问题绊倒了 编写一个名为Java 返回元音,java,Java,我是Java的初学者,我正在练习practiceit 但我被这个问题绊倒了 编写一个名为isVowel的方法,返回字符串是否为元音(一个包含a、e、i、o或u的单字母字符串,不区分大小写) public静态布尔元音(字符串字){ 对于(int i=0;i你的问题很令人困惑。字符串可能有元音,但唯一正确的英语单词是“i” 此方法应命名为“hasvuel”或“containsVowel”。在这种情况下,循环每个字母,如果有元音,则返回true。如果您只需要检查字符串是否为元音,而不是包含元音,
isVowel
的方法,返回字符串是否为元音(一个包含a、e、i、o或u的单字母字符串,不区分大小写)
public静态布尔元音(字符串字){
对于(int i=0;i你的问题很令人困惑。字符串可能有元音,但唯一正确的英语单词是“i”
此方法应命名为“hasvuel”或“containsVowel”。在这种情况下,循环每个字母,如果有元音,则返回true。如果您只需要检查字符串是否为元音,而不是包含元音,则可以编写如下内容:
public static boolean isVowel(String word){
if (word.length()!=1) return false;
char vowels=word.toLowerCase().charAt(0);
if(vowels== 'a'|| vowels =='e' || vowels=='i'|| vowels == 'o' || vowels == 'u'){
return true;
}
return false;
}
根据您对函数的定义,单字母
是元音,这应该可以使用
public class StackOverflowAnswer {
public static void main(String[] args) {
System.out.println(isVowel("a")); //Returns true
System.out.println(isVowel("b")); //Returns false
System.out.println(isVowel("Obama")); //Returns false
System.out.println(isVowel("ae")); //Returns false, not single letter
}
public static boolean isVowel(String word){
String[] vowels = {"a","e","i","0","u"};
return Arrays.asList(vowels).contains(word.toLowerCase());
}
}
这是您正在寻找的解决方案
public static boolean isVowel(String x){
String y=x.toLowerCase();
if(y.equals("a"))
return true;
else if(y.equals("e"))
return true;
else if(y.equals("i"))
return true;
else if(y.equals("o"))
return true;
else if(y.equals("u"))
return true;
else
return false;
}
下面的方法对我有效
public static boolean isVowel(String str) {
if (str.equalsIgnoreCase("a")) {
return true;
} else if (str.equalsIgnoreCase("e")) {
return true;
} else if (str.equalsIgnoreCase("i")) {
return true;
} else if (str.equalsIgnoreCase("o")) {
return true;
} else if(str.equalsIgnoreCase("u")){
return true;
} else {
return false;
}
}
例如,当我调用is元音(“obama”)时,它应该给我fase。但我得到的是trueNo,当它找到“o”时,它将返回“true”。根据问题,只有当字符串的长度为1时,它才应该返回true。这没有意义。要检查“字符串是否是元音”这意味着它只有一个字符。现在,如果问题是,字符串是否包含任何元音,那么它应该可以工作。请注意,如果是word=word.toLowerCase()
,只需要一半的比较。准确地说。我只是对已经给出的代码进行c/p。我现在将编辑我的答案。我尝试了你的方法,它很有效。只需澄清“if(word.length()!=1)return false”;根据我的理解,这意味着如果单词不等于1,编译器将返回false。但是当我调用isvowell时(“obama”),长度不等于1,因此返回false。如果您需要检查单词是否为元音,超过1的单词都应返回false。对不起,我一直在查看。但我不明白。问题不是问我如果看到元音,我应该返回true吗?
public static boolean isVowel(String str) {
if (str.equalsIgnoreCase("a")) {
return true;
} else if (str.equalsIgnoreCase("e")) {
return true;
} else if (str.equalsIgnoreCase("i")) {
return true;
} else if (str.equalsIgnoreCase("o")) {
return true;
} else if(str.equalsIgnoreCase("u")){
return true;
} else {
return false;
}
}