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);
        }
    }
}