计算字符串中元音个数的Java程序
在Java中,字符串是一个字符序列,而 char 是用于存储变量的单个数字。 char 在Java中使用 2 个字节。在Java中,BufferedReader 和 InputStreamReader 用于读取用户从键盘给出的输入。然后 readLine() 用于读取一行。 Java中的Java .io包通过数据流、序列化和文件系统提供输入和输出。
我们可以通过两种方式计算字符串中的元音:
- 迭代
- 递归
例子:
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