首页 > 解决方案 > 读一个单词并打印单词中元音的数量。Java/Netbeans

问题描述

我正在尝试从用户那里读取一个单词并打印该单词中元音的数量。关于如何阅读单词和打印元音数量的任何建议?下面是我的代码。

import java.util.Scanner;

public class CountVowels
{
   public static void main(String[] args)
   {
      Scanner in = new Scanner(System.in);
      String word = in.next();
      System.out.println("Please enter a word.");
      for (int w = 0;w < word.length();w++)
      {
         String ch = word.substring(i, i + 1);
         if ("aeiou".contains(ch))
         . . .
      }
      System.out.println("Vowels: " + "aeiou");
   }
}

这是下面的另一个代码,看起来它可以根据我在我的初学者 Java 课程中学到的内容工作,但由于我的扫描仪类的问题,我无法让它在我的平台上工作。

{
String word;
Scanner myinput = new Scanner(System.in);
System.out.println("Please enter a word.");
word = myinput.next();
//This will convert your string to lowercase using toLowerCase() method.
char[] wordc = word.toLowerCase().toCharArray();
int vowels = 0; //This counter will count the vowels in the word.
for(int w = 0;w < word.length();w++) {
  if(wordc[w] == 'a' || wordc[w] == 'e' || wordc[w] == 'i' || wordc[w] == 'o' || wordc[w] == 'u') {
      vowels++;
  }
}

标签: javanetbeans

解决方案


这是解决问题的方法。

使用读取输入scanner.nextLine();

将 vowelCounter 初始化为零,'int vowelCounter = 0;"

将字符串转换为 char 数组word.toCharArray()

将元音分配给字符串String vowels = "aeiou";

遍历字符数组并比较您的元音是否包含当前字符,增加计数器

if (vowels.contains(currentChar)){ ++vowelCounter; }

然后打印 vowelCounter 的值。很抱歉我无法发布完整的代码,但我认为了解如何编写代码将有助于您创建一个不同的可行版本。


推荐阅读