没有检测到元音?

时间:2015-04-25 01:45:21

标签: 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++)
        {
            if(x.charAt(i)=='o');
            System.out.println("the word has a vowel o");
            break;
        }
    }
}

2 个答案:

答案 0 :(得分:2)

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

当你在if语句后面给出半分号时,表示你正在执行一个空语句。你可以在if语句后删除分号 (if(x.charAt(i)=='o'){-----})或尝试以下解决方案

我稍微修改了你的代码,以捕获和打印给定String中存在的所有元音。 希望下面的代码有帮助 - :

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

答案 1 :(得分:1)

更改你的if语句,使其涵盖打印和中断:

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

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