Java 没有检测到元音?

Java 没有检测到元音?,java,string,Java,String,如何在给定的单词中找到元音 import java.util.Scanner; public class Test { public static void main(String args[]) { Scanner a =new Scanner(System.in) ; String x=a.nextLine(); for(int i = 0;i<x.length();i++) {

如何在给定的单词中找到元音

import java.util.Scanner;

public class Test {

    public static void main(String args[])
    {
        Scanner a =new  Scanner(System.in) ;
        String x=a.nextLine();
        for(int i = 0;i<x.length();i++)
        {
            if(x.charAt(i)=='o');
            System.out.println("the word has a vowel o");
            break;
        }
    }
}
import java.util.Scanner;
公开课考试{
公共静态void main(字符串参数[])
{
扫描仪a=新的扫描仪(System.in);
字符串x=a.nextLine();

对于(int i=0;i更改if语句,使其涵盖打印和中断:

if(x.charAt(i)=='o') {
    System.out.println("the word has a vowel o");
    break;
}

请注意,一旦它检测到第一个字母“o”,它就会断开。

获得此输出的原因是“当我输入时,让我们说jdbc它显示这个jdbc,单词有一个元音,单词有一个元音,单词有一个元音,单词有一个元音,你的if语句是错误的。”

如果在if语句后加分号,则表示执行的是空语句。可以删除if语句后的分号 (如果(x.charAt(i)='o'){----------})或尝试以下解决方案

我稍微修改了您的代码,以捕获并打印给定字符串中的所有元音。 希望下面的代码有帮助-:

public class Test {

    public static void main(String args[])
    {
        Scanner a =new  Scanner(System.in) ;
        String x=a.nextLine();
        for(int i = 0;i<x.length();i++)
        {
            if((x.charAt(i) == 'a') || (x.charAt(i) == 'e')  ||(x.charAt(i) == 'i') || (x.charAt(i) == 'o') || (x.charAt(i) == 'u')) {
                System.out.println("the word has a vowel -: "+x.charAt(i));
            }
        }
    }
}
公共类测试{
公共静态void main(字符串参数[])
{
扫描仪a=新的扫描仪(System.in);
字符串x=a.nextLine();

对于(int i=0;i)您的字符串包含多个元音的情况如何?是否只打印字符串中的元音?我认为您没有正确使用
if
语句。当我输入时,让我们说jdbc,它显示这个jdbc单词有一个元音o单词有一个元音o单词有一个元音o单词有一个元音o单词有一个元音o单词有一个元音o单词有一个元音o