java如何显示用户输入字符串中的所有元音
我试图让用户输入一个字符串,然后显示在用户输入字符串中找到的所有元音,这是我的代码,但无法显示正确的结果 如果用户输入:java如何显示用户输入字符串中的所有元音,java,arrays,string,Java,Arrays,String,我试图让用户输入一个字符串,然后显示在用户输入字符串中找到的所有元音,这是我的代码,但无法显示正确的结果 如果用户输入:我绝望了 结果应该是字符串中的所有元音:i,e,e,a,e import java.util.Scanner; public class Lab7stringvowels { public static void main(String[] args) { // TODO Auto-generated method stub Scanner
我绝望了
结果应该是字符串中的所有元音:i,e,e,a,e
import java.util.Scanner;
public class Lab7stringvowels {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner (System.in);
System.out.println ("Enter a string:");
String s = input.nextLine();
char [] sChars = s.toCharArray();
char[] vowels = {'a','e','i','o','u'};
for (int j = 0 ; j < sChars.length ; j ++ ) {
for (int i = 0; i < vowels.length ; i++ ) {
if ( sChars == vowels) {
System.out.print(vowels[i] + " ");
}
}
}
}
}
import java.util.Scanner;
公共类元音{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入字符串:”);
字符串s=input.nextLine();
char[]sChars=s.toCharArray();
char[]元音={'a','e','i','o','u'};
对于(int j=0;j
您不应该直接比较数组来查找元音,而是必须将数组名称与for循环中的索引结合使用
//Initialize your arrays
for (int j = 0 ; j < sChars.length ; j ++ ) {
for (int i = 0; i < vowels.length ; i++ ) {
if ( sChars[j] == vowels[i]) {
System.out.print(vowels[i]+ " ");
}
}
}
//初始化数组
对于(int j=0;j
首先,我要编写一个方法来测试一个字符是否是元音(您可以使用它来忽略大小写)。大概
public static boolean isVowel(char ch) {
switch (Character.toLowerCase(ch)) {
case 'a': case 'e': case 'i': case 'o': case 'u':
return true;
}
return false;
}
或者,您可能更喜欢以下内容
public static boolean isVowel(char ch) {
return "aeiou".contains(Character.toString(Character.toLowerCase(ch)));
}
然后你可以用类似的方法测试你的输入
您需要检查您的输入sChars是否包含任何元音。现在,您正在检查输入是否与元音数组完全相同。您为什么不为此使用正则表达式?
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter a string:");
String s = input.nextLine();
for (char ch : s.toCharArray()) {
if (isVowel(ch)) {
System.out.printf("%c ", ch);
}
}
}