📜  计算字符串中元音个数的Java程序

📅  最后修改于: 2022-05-13 01:55:33.334000             🧑  作者: Mango

计算字符串中元音个数的Java程序

在Java中,字符串是一个字符序列,而 char 是用于存储变量的单个数字。 char 在Java中使用 2 个字节。在Java中,BufferedReader 和 InputStreamReader 用于读取用户从键盘给出的输入。然后 readLine() 用于读取一行。 Java中的Java .io包通过数据流、序列化和文件系统提供输入和输出。

我们可以通过两种方式计算字符串中的元音:

  1. 迭代
  2. 递归

例子:

Input: GeeksForGeeks
Output: Total no of vowels in string are: 5

Input: ChETaN
Output: Total no of vowels in string are: 2

方法一:迭代

方法:

  • 我们将在 for 循环中遍历字符串中的字符,从索引 0 到大小 1。
  • 并检查每个字符是否是元音并增加计数变量。
Java
// Java Program to Count Number of Vowels
// in a String in a iterative way
  
import java.io.*;
  
public class vowel {
    public static void main(String[] args)
        throws IOException
    {
        String str = "GeeksForGeeks";
  
            str = str.toLowerCase();
  
        // toCharArray() is used to convert 
        // string to char array
        char[] chars = str.toCharArray();
  
        int count = 0;
  
        for (int i = 0; i < str.length(); i++)
        {
            // check if char[i] is vowel
            if (str.charAt(i) == 'a' || str.charAt(i) == 'e'
                || str.charAt(i) == 'i'
                || str.charAt(i) == 'o'
                || str.charAt(i) == 'u')
            {
                // count increments if there is vowel in
                // char[i]
                count++;
            }
        }
  
        // display total count of vowels in string
        System.out.println("Total no of vowels in string are: " + count);
    }
}


Java
// Java Program to Count Number of Vowels
// in a String in a recursive way
  
import java.io.*;
  
class GFG {
  
    // isVowel() function returns 1 if the
    // character is a vowel and 0 if it is not
    static int isVowel(char chars)
    {
        if (chars == 'a' || chars == 'e' || chars == 'i'
            || chars == 'o' || chars == 'u') {
            return 1;
        }
        else {
            return 0;
        }
    }
  
    // recursive function to return the number
    // of characters in a string
    static int vowelno(String str, int l)
    {
        if (l == 1) {
            return isVowel(str.charAt(l - 1));
        }
  
        return vowelno(str, l - 1)
            + isVowel(str.charAt(l - 1));
    }
  
    public static void main(String[] args)
        throws IOException
    {
        String str = "BufferedOutput";
  
        str = str.toLowerCase();
  
        System.out.println(
            "Total number of vowels in string are:");
  
        System.out.println(vowelno(str, str.length()));
    }
}


输出
Total no of vowels in string are: 5

方法 2:递归

方法:

  • 如果字符串的长度为 1,则检查基本条件,然后简单地检查该单个字符是否是元音,然后返回 1,否则返回 0。
  • 为了将整个字符串划分为子字符串以递归返回答案,我们将从第一个字符到倒数第二个字符的字符串中获得答案。
  • 最后返回上面的答案加上检查最后一个字符的答案(如果是元音则为1,否则为0)

Java

// Java Program to Count Number of Vowels
// in a String in a recursive way
  
import java.io.*;
  
class GFG {
  
    // isVowel() function returns 1 if the
    // character is a vowel and 0 if it is not
    static int isVowel(char chars)
    {
        if (chars == 'a' || chars == 'e' || chars == 'i'
            || chars == 'o' || chars == 'u') {
            return 1;
        }
        else {
            return 0;
        }
    }
  
    // recursive function to return the number
    // of characters in a string
    static int vowelno(String str, int l)
    {
        if (l == 1) {
            return isVowel(str.charAt(l - 1));
        }
  
        return vowelno(str, l - 1)
            + isVowel(str.charAt(l - 1));
    }
  
    public static void main(String[] args)
        throws IOException
    {
        String str = "BufferedOutput";
  
        str = str.toLowerCase();
  
        System.out.println(
            "Total number of vowels in string are:");
  
        System.out.println(vowelno(str, str.length()));
    }
}
输出
Total number of vowels in string are:
6